helpf.pro
Регистрация
 -1 
Распечатать

1С 8.2 УП : Работаем с 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.НетПроверки));
    ВывестиЭлем(ХМЛ,"");
    ХМЛ.Закрыть();
    ХМЛ=Неопределено;
КонецПроцедуры
Разместил:   Версии: | 8.2 УП | 8.3 |  Дата:   Прочитано: 6887
 -1 
Распечатать
Возможно, вас также заинтересует
1C медленно работает по сети с базой на SQL Server 8
Данное обстоятельство может быть обусловлено многими причинами. Одна из них - неоптимальная настройка MS SQL . Перечислим неоптимальности в настройке: 1) Неправильно указанный сетевой протокол, используемый для...
1С Предприятие что это? 6
Что такое 1С? 1С — это фирма , у которой одно из направлений деятельности — разработка программного обеспечения для автоматизации бизнес-процессов предприятий. « 1С:Предприятие » - конкретный продукт, который...
Excel файл как Внешний источник данных 4
Подключимся и загрузим из файла Excel данные в таблицу значений 1С. Сделать теперь это очень просто. 1. В конфигурации добавляет новый объект метаданных типа " Внешние источники данных" и назовем его просто " Excel" . ...
Google maps : вывод точек на карту и режим панорамы 2
В отличие от яндекс карт в GMaps можно использовать панорамы - за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С...
Microsoft SQL Server Native Client Добавление значения в столбец "datetime" привело к переполнению 0
При формировании отчета на СКД получили ошибку: Microsoft SQL Server Native Client 11.0: Добавление значения в столбец "datetime" привело к переполнению Подробнее текст такой: ... по причине: Ошибка компоновки данных по причине: Ошибка...
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.