Имя: Пароль:
1C
1C 7.7
v7: Как управлять оформлением xml (отступы)?
0 Провинциальный 1сник
 
30.06.15
11:19
Делаю обработки по восьмерко-семерочному переносу через xml, и вот на что обратил внимание. Семерочный AddIn.XMLParser не делает отступы уровней вложенности табуляцией, а восьмерочный объект ЗаписьXML - делает. Файлы и в том и в другом случае получаются корректными, но в восьмерке они более человекочитаемы, хотя и чуть большего размера. Можно ли упралять этим поведением? Интересует, можно ли включить отступы в семерочном парсере и отключить в восьмерочном?
1 Ненавижу 1С
 
гуру
30.06.15
11:24
(0) можно просматривать не в блокноте, а хотя бы в браузере, а еще лучше в специальном редакторе
2 Ёпрст
 
гуру
30.06.15
11:24
Можно
3 Ёпрст
 
гуру
30.06.15
11:25
пиши через другой объект, там есть свойство - фтыкать отступы или писать всё одной строкой.
4 Провинциальный 1сник
 
30.06.15
11:27
(1) Да я знаю про вьюверы
(3) А какие еще объекты в семерке для xml есть?
5 Ёпрст
 
гуру
30.06.15
11:38
(4)
СоздатьОбъект("MSXML2.DOMDocument.6.0");
6 Ёпрст
 
гуру
30.06.15
11:38
например
7 Ёпрст
 
гуру
30.06.15
11:57
на пример:

    Попытка
        ХМЛФайлДанных=СоздатьОбъект("MSXML2.DOMDocument.6.0");
        Узел=ХМЛФайлДанных.CreateProcessingInstruction("xml","version=""1.0"" encoding=""windows-1251""");
    Исключение
        Сообщить("Не удалось создать объект DOMDocument","!");
        Возврат;
    КонецПопытки;
    ХМЛФайлДанных.insertBefore(Узел,);
    ХМЛФайлДанных.PreserveWhitespace=0; //0-оставляем табуляцию,1-всё в одну строку
    
    
    ТекЭлем=ХМЛФайлДанных.appendChild(ХМЛФайлДанных.createElement("Файл"));
    ТекЭлем.text="Ха-ха-ха!";
    ТекЭлем.setAttribute("Атрибут1","Хо-хо-хо!");
    
    ТекЭлем=ТекЭлем.appendChild(ХМЛФайлДанных.createElement("СодержимоеФайла"));
    ТекЭлем.text="Йо-ххо!!!";
    ТекЭлем.setAttribute("Атрибут1","Ух ты!!!");
    ХМЛФайлДанных.save("D:\1.xml");
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан