Собираем
информацию
по крупицам

Платформа 1C:Предприятие

Как в 1С v.8.2 получить XML-код для DOM-элемента
12-04-2012
11:23:25

При написании процедур вызгрузки и загрузки XML данных часто требуется конвертирование частей DOM-дерева в XML код. Части DOM-дерева обычно представлены объектом типа ЭлементDOM. Прямой процедуры получения XML-кода для DOM-элемента я не нашел. Поэтому пришлось быдлокодить и  написать свою не самую быструю, но работающую функцию.

 

Вот она:

 

&НаСервере
Функция ПреобразоватьИзDOMЭлементВXMLКод(ОбрабатываемыйЭлемент)

 // Имя временного файла, куда будет сохранен XML код
 ИмяВременногоФайла=ПолучитьИмяВременногоФайла();

 // Сохранение кода во временный XML файл
 ЗаписьXML = Новый ЗаписьXML;
 ЗаписьXML.ОткрытьФайл(ИмяВременногоФайла, "UTF-8");
 ЗаписьDOM = Новый ЗаписьDOM; 
 ЗаписьDOM.Записать(ОбрабатываемыйЭлемент, ЗаписьXML);
 ЗаписьXML.Закрыть();

 // Получение XML кода из временного файла
 XMLФайл=Новый ТекстовыйДокумент;
 XMLФайл.Прочитать(ИмяВременногоФайла, "UTF-8");
 XMLКод=XMLФайл.ПолучитьТекст();

 // Временный файл удаляется
 УдалитьФайлы(ИмяВременногоФайла);

 Возврат XMLКод;

КонецФункции

 

Надеюсь, кому-то поможет.

 

Кстати, можно передавать в функцию и объект типа ДокументDOM, он тоже будет преобразован в XML код.

 

Конечно, нехорошо использовать запись на диск для получения XML-представления. Но так как в моем случае функция используется разово при обработке добавления первичных данных, то мне её хватает и в таком виде.


К списку "Компьютерное"

Интересное на сайте


Мультиплатформенные игры » Ежик-попрыгунчик. Лесная тропа.

Игра про ёжика, который прыгает по подвижным платформам и собирает яблочки.   Эта игра писалась в рамках конкурса конференции разработчиков игр ...


Система контроля версий GIT » Как перенести локальный GIT-репозитарий на сервер вместе со всей историей

Разработка с применением GIT обычно начинается с того, что вначале программист держит локальный GIT репозитарий на своей рабочей машине, и ежедневно к...


Система контроля версий GIT » Установка GIT и настройка GitHub: полное руководство (Windows, Linux)

Здесь описывается практическая часть вопроса использования Git - его установка и регистрация на сервере GitHub.com.    GitHub.com - это серв...

RSS подписка

Подпишитесь на новости сайта по RSS


http://www.loko-ie.ru/ продукция поковки и штамповки.
Детальная информация купить квартиру в новороссийске тут.

Внимание!


На этом сайте разрабатывается программа MyTetra и её родственные проекты. Доступны к просмотру следующие базы знаний:

 

База Xintrea (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)

База Rarrugas (1, 2)

База Balas

База YellowRaven

База Yurons

База Lesnik757

База Shandor

База Sirrichar

База Anatolean

База Аrmagedec

База SorokinRed

База Deadelf79

 

Требуют доработки:

 

База Tairesh

База Ivnglkv

База Kolyag87

База Andyk101

База Garik456456

База Harpokrat

База SalexIzyh

База Duwaz

 

Подробности на странице MyTetra Share.

 WebHamster.Ru
 Домик любопытного хомячка
Яндекс индекс цитирования
Почтовый ящик