Как можно загрузить XML-документ произвольной структуры? Код 1C v 8.х
Чтение = Новый ЧтениеXML;
Чтение.ОткрытьФайл(ПутьКФайлу); //ПутьКФайлу - Путь к загружаемому XML-документу указан в переменной
//Используется модель последовательного доступа.
Пока Чтение.Прочитать() Цикл // Прочитать «структурные части» элементов.
// Проверить, какая часть элемента текущая.
Если Чтение.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
ИмяУзла = Чтение.Имя;
Сообщить("--" + ИмяУзла);
// Атрибуты элементов можно читать, только если текущая часть – начало элемента.
Пока Чтение.ПрочитатьАтрибут() Цикл
// Прочитать данные узла атрибута.
ТипУзла = Чтение.ТипУзла;
Имя = Чтение.Имя;
Значение = Чтение.Значение;
// Обработать полученные значения.
// ...
КонецЦикла;
ИначеЕсли Чтение.ТипУзла = ТипУзлаXML.Текст Тогда
// В примере просто выводим текст в окно сообщений.
Сообщить("Текст:" + Чтение.Значение);
ИначеЕсли Чтение.ТипУзла = ТипУзлаXML.КонецЭлемента Тогда
// В примере просто выводим признак конца элемента в окно сообщений.
Сообщить("--Конец:" + Чтение.Имя);
Категория:
JSON, XML, TXT, CSV, DBF Как можно сформировать XML-документ произвольной структуры? Используется модель
последовательного доступа (работа осуществляется только с одним текущим узлом):
Код 1C v 8.х Запись = Новый ЗаписьXML;
Запись. ОткрытьФайл( ПутьКФайлу) ;
Запись. ЗаписатьОбъявлениеXML( ) ;
Запись. ЗаписатьНачалоЭлемента( "Корневой" ) ;
Запись. ЗаписатьАтрибут( "Справочник" , "Номенклатура" ) ;
Запись. ЗаписатьКомментарий( "Краткая информация о номенклатуре" ) ;
Выборка = Справочники. Номенклатура. ВыбратьИерархически( ) ;
Пока Выборка. Следующий( ) Цикл
Если Выборка. ЭтоГруппа Тогда
Продолжить;
КонецЕсли ;
Запись. ЗаписатьНачалоЭлемента( "Элемент" ) ;
Запись. ЗаписатьАтрибут( "Код" , Строка( Выборка. Код) ) ;
Запись. ЗаписатьАтрибут( "Артикул" , Строка( Выборка. Артикул) ) ;
Запись. ЗаписатьТекст( Выборка. Наименование) ;
Запись. ЗаписатьКонецЭлемента( ) ;
КонецЦикла ;
Запись. ЗаписатьКонецЭлемента( ) ;
Запись. Закрыть( ) ;
В результате будет получен файл вида
Код <НачалоЭлемента
ИмяАтрибута = Значение ИмяАтрибута = Значение......>
Текст
<КонецЭлемента>
Создание XML-документа с помощью объекта ЗаписьXML производится путем помещения в строгой последовательности (иначе будет нарушена структура) «частей» узлов.
Категория:
JSON, XML, TXT, CSV, DBF