1CLenta.ru  

Запись, чтение XML из ДокументDOM

Программирование системы     30.08.2016 11:42     21485

Во встроенном языке программрования 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С:Предприятии

Комментарии (0)