Во встроенном языке программрования 1С:Предприятия, существует объект "ДокументDOM". Данная технология содержит представление XML данных в виде дерева узлов. Для работы с узлами "ДокументDOM" содержит специальные методы, которые позволяют записывать, читать, копировать, удалять узлы.
Во встроенном языке программрования 1С:Предприятия, существуют специальные объекты ЗаписьXML, ЧтениеXML для работы с XML. Как можно увидеть из названий объектов, основное их предназначение это запись и чтение. Если решение задачи сводится к таким простым действиям с данными, то эти объекты хорошо справляются со своей задачей. Но если требуется выполнить сложные манипуляции с узлами XML, то лучше всего с этой задачей справляется "ДокументDOM".
Записать XML файл
Функция СоздатьXML()
ДокументDOM = Новый ДокументDOM; ДокументDOM.ВерсияXML = "1.0"; //Добавить корневой узел КорневойЭлемент = ДокументDOM.СоздатьЭлемент("RootTag"); //Добавить подчиненный узел Элемент = ДокументDOM.СоздатьЭлемент("Tag"); Элемент.УстановитьАтрибут("ИмяАтрибута", "ЗначениеАтрибута"); Элемент.ТекстовоеСодержимое = "Текст"; СекцияCDATA = ДокументDOM.СоздатьСекциюCDATA("Значение"); Элемент.ДобавитьДочерний(СекцияCDATA);
//Записать узлы КорневойЭлемент.ДобавитьДочерний(Элемент); ДокументDOM.ДобавитьДочерний(КорневойЭлемент); //Запись ДокументDOM в файл ЗаписьXML = Новый ЗаписьXML; ПараметрыЗаписи = Новый ПараметрыЗаписиXML("UTF-8",,Ложь,Ложь); ЗаписьXML.ОткрытьФайл("C:\Test.xml", ПараметрыЗаписи); ЗаписьDOM = Новый ЗаписьDOM; ЗаписьDOM.Записать(ДокументDOM, ЗаписьXML); //Если файл не открыт, то этот метод вернёт XML-строку СтрокаXML = ЗаписьXML.Закрыть(); КонецФункции
Прочитать XML файл
Функция СчитатьXML()
ЧтениеXML = Новый ЧтениеXML; //Загрузить XML из строки ЧтениеXML.УстановитьСтроку("<xml version=""1.0"" encoding=""UTF-8""?> |<RootTag> |<Tag Имя=""Значение"">Текст<![CDATA[Значение]]></Tag> |</RootTag>"); //Загрузить файл XML ЧтениеXML.ОткрытьФайл("C:\Test.xml",,,"UTF-8"); ПостроительDOM = Новый ПостроительDOM; ДокументDOM = ПостроительDOM.Прочитать(ЧтениеXML); //Получить элемент по значению атрибута id Элемент = ДокументDOM.ПолучитьЭлементПоИдентификатору("id"); //Получить элементы по имени СписокЭлементов = ДокументDOM.ПолучитьЭлементыПоИмени("Tag"); //Перебрать все узлы ИтераторУзлов = Новый ИтераторУзловDOM(ДокументDOM); Пока ИтераторУзлов.СледующийУзел() <> Неопределено Цикл КонецЦикла; //Перебрать все узлы ИтераторДерева = Новый ОбходДереваDOM(ДокументDOM); Пока ИтераторДерева.СледующийУзел() <> Неопределено Цикл КонецЦикла; ЧтениеXML.Закрыть(); КонецФункции
Похожие статьи: Записать, прочитать XML файл из DomDocument ЗаписьXML, ЧтениеXML в 1С:Предприятии
|