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

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

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