Имя: Пароль:
1C
1С v8
Перенос строки в XML DOM
0 Pentosh
 
09.12.15
13:34
Здравствуйте, подскажите пожалуйста, как решить данную проблему.
Сделал выгрузку в ХМЛ через ДОМДокумент, все хорошо, но сама выгрузка не читабельна (если открыть в блокноте).
Сплошной текст, переносы строк есть только для картинок (Base64).

Как можно расставить переносы строки после записи элементов в ХМЛ?

Код

ДОМ=Новый ДокументDOM;                    ТекЭлем=ДОМ.СоздатьЭлемент("price-list");                    ДОМ.ДобавитьДочерний(ТекЭлем);                    СписокНоменклатуры=ТекЭлем.ДобавитьДочерний(ДОМ.СоздатьЭлемент("price-list-items"));                ТекЭлемНоменклатура=СписокНоменклатуры.ДобавитьДочерний(ДОМ.СоздатьЭлемент("price-list-item"));
ТекЭлем=ТекЭлемНоменклатура.ДобавитьДочерний(ДОМ.СоздатьЭлемент(УИД));                ТекЭлем.ДобавитьДочерний(ДОМ.СоздатьТекстовыйУзел(Строка(УИДНоменклатуры)));
Если НЕ ЗначениеЗаполнено(Картинка) Тогда                    ТекЭлем.ДобавитьДочерний(ДОМ.СоздатьТекстовыйУзел(Строка(Картинка)));
Иначе                    ТекЭлем.ДобавитьДочерний(ДОМ.СоздатьТекстовыйУзел(СтрЗаменить(Base64Строка(Картинка),Символы.ПС,"")));
КонецЕсли;
ХМЛ=Новый ЗаписьXML;
ХМЛ.ОткрытьФайл(ПУТЬ,Новый ПараметрыЗаписиXML("UTF-8",,Ложь,Ложь));
ЗаписьДОМ=Новый ЗаписьDOM;
ЗаписьДОМ.Записать(ДОМ,ХМЛ);
ХМЛ.Закрыть();
1 Pentosh
 
09.12.15
13:36
Ой, простите за читабельность кода, неудобно его тут писать :)
2 DmitrO
 
09.12.15
14:00
ну ты же сам в конструкторе объекта ПараметрыЗаписиXML в третьем параметре поставил Ложь?

Или не сам? Скопипастил? Признавайся! :)
3 Pentosh
 
09.12.15
15:14
(2) И действительно, спасибо большое.
Да, честно скопировал, а на параметры что то и не смотрел, косяк.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший