Работа с xml при помощи ЧтениеXML и ЗаписьXML в 1С 8

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

или зарегистрируйтесь чтобы ответить!