HelpF.pro

Работаем с XML используя ЧтениеXML и ЗаписьXML

Примеры кода для Записи данных в XML файл и его последующего Чтения:

Код 1C v 8.3
 &НаКлиенте
Функция ВывестиЭлем(ХМЛ,Знач Смещ);
    
    Рез=1;
    Попытка
        Пока ХМЛ.Прочитать() Цикл
            ТипУзла=ХМЛ.ТипУзла;
            Если (ТипУзла=ТипУзлаXML.НачалоЭлемента) Тогда
                Смещ=Смещ+"    ";
                Сообщить(Смещ+"Элемент "+ХМЛ.Имя+":",СтатусСообщения.Важное);
                
                Пока (ХМЛ.ПрочитатьАтрибут()) Цикл
                    Сообщить(Смещ+"Атрибут: "+ХМЛ.Имя+", значение: <"+ХМЛ.Значение+">");
                КонецЦикла;
            ИначеЕсли (ТипУзла=ТипУзлаXML.КонецЭлемента) Тогда 
                Смещ=Лев(Смещ,СтрДлина(Смещ)-4);
            ИначеЕсли (ТипУзла=ТипУзлаXML.Текст) Тогда 
                Сообщить(Смещ+"Текст элемента: <"+ХМЛ.Значение+">");
            ИначеЕсли (ТипУзла=ТипУзлаXML.СекцияCDATA) Тогда 
                Сообщить(Смещ+"CDATA: <"+ХМЛ.Значение+">");
            ИначеЕсли (ТипУзла=ТипУзлаXML.Комментарий) Тогда 
                Сообщить(Смещ+"Комментарий: <"+ХМЛ.Значение+">",СтатусСообщения.Информация);
            Иначе
                Сообщить(Смещ+"Элемент "+ХМЛ.Имя+":");
            Сообщить(Смещ+"Тип: "+ХМЛ.Значение);
            КонецЕсли; 
            
        КонецЦикла; 
        
    Исключение
        Сообщить(ОписаниеОшибки());
        Рез=0;
    КонецПопытки;
    
    Возврат Рез;
КонецФункции


&НаКлиенте
Процедура ВыгрузитьХМЛ(ИмяФайла) Экспорт
    
    ХМЛ=Новый ЗаписьXML;
    ХМЛ.ОткрытьФайл(ИмяФайла,Новый ПараметрыЗаписиXML("windows-1251",,Ложь,Ложь));
    ХМЛ.ЗаписатьОбъявлениеXML();
    ХМЛ.ЗаписатьНачалоЭлемента("Файл");
    ХМЛ.ЗаписатьАтрибут("Атрибут_Файл_1","Здесь содержимое Атрибут_Файл_1");
    ХМЛ.ЗаписатьТекст("Здесь содержимое Файл");
    ХМЛ.ЗаписатьКомментарий("Далее следует содержимое файла");
    ХМЛ.ЗаписатьНачалоЭлемента("СодержимоеФайла");
    ХМЛ.ЗаписатьАтрибут("Атрибут_СодержимоеФайла_1","Здесь содержимое Атрибут_СодержимоеФайла_1");
    ХМЛ.ЗаписатьТекст("Здесь содержимое СодержимоеФайла");
    ХМЛ.ЗаписатьСекциюCDATA("Это секция CDATA");
    ХМЛ.ЗаписатьКонецЭлемента();
    ХМЛ.ЗаписатьКонецЭлемента();


    ХМЛ.Закрыть();
    ХМЛ=Неопределено;
    
    ХМЛ=Новый ЧтениеXML;
    ХМЛ.ОткрытьФайл(ИмяФайла,Новый ПараметрыЧтенияXML(,,,ТипПроверкиXML.НетПроверки));
    ВывестиЭлем(ХМЛ,"");
    ХМЛ.Закрыть();
    ХМЛ=Неопределено;
КонецПроцедуры

Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq82/view/1633.html