Имя: Пароль:
1C
1С v8
Base64 и XML с отступами
0 Dimon1C
 
26.09.24
09:15
Добрый день.
На входе xml в формате base64. Необходимо преобразовать в XML файл с отступами
Делаю так:
ДвоичныеДанные = Base64Значение(Data64base);
ИмяФайла = ПолучитьИмяВременногоФайла("xml");
ДвоичныеДанные.Записать(ИмяФайла);

Но когда открываю файл - нет отступов, все одной строкой идет.
1 Dzenn
 
26.09.24
09:21
прочти в объект и снова сохрани в XML, но с параметрами форматирования.

Запись = Новый ЗаписьXML
Запись.Параметры = Новый ПараметрыЗаписиXML (... и тут все параметры, в том числе отступ...)
2 RVN
 
26.09.24
09:22
ЧтениеXML = Новый ЧтениеXML;
        ЧтениеXML.ОткрытьФайл(ИмяФайла);
        
        ПостроительDOM = Новый ПостроительDOM;
        ДокументDOM = ПостроительDOM.Прочитать(ЧтениеXML);
        
        ЗаписьXML = Новый ЗаписьXML;
        ЗаписьXML.УстановитьСтроку(Новый ПараметрыЗаписиXML(, , Истина, Истина));//здась как раз и содержится явное указание 1С отформатировать XML при записи
        
        ЗаписьDOM = Новый ЗаписьDOM;
        ЗаписьDOM.Записать(ДокументDOM, ЗаписьXML);
        ИсходныйТекстXML= ЗаписьXML.Закрыть();
3 arsik
 
26.09.24
09:23
(0) И Чего? Ну структурируй плагинами. Никто отступы и переносы делать не обязывает.
4 Dimon1C
 
26.09.24
09:23
(1) То есть последовательно перебрать все узлы через ЧтениеXML? может проще есть вариант?
5 Dzenn
 
26.09.24
09:26
(4) нет, зачем. Во кстати в (4) мне понравился способ через DOM
6 Dimon1C
 
11.10.24
09:42
(2) Спасибо, сработало!
(3) Я сам себя обязываю, что хочу отступы ))
7 АгентБезопасной Нацио
 
26.09.24
10:05
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший