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

Платформа 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-представления. Но так как в моем случае функция используется разово при обработке добавления первичных данных, то мне её хватает и в таком виде.


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

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


Юмор » ЛОР. Призрак в опере? Нет проблем, обеспечим!

Да! ЛОР снова торт. Если кто еще не знает, 9 октября 2011 года усилиями однозвёздного пользователя bk_ стартовала Гитарная Битва Луноходов.   На...


Платформа 1C:Предприятие » Как сравнивать типы значений в 1С - Краткая памятка

Платформа 1С имеет множество предопределенных типов значений. Практически на каждый вид системного объекта имеется отдельный тип. Поэтому один из важн...


Mplayer / Mencoder » Как с помощью Mencoder заменить в фильме звуковую дорожку

Рецепт очень простой.   Чтобы заменить в фильме звуковую дорожку и вывести результат в файл out.avi, делаем так:   $ mencoder исходный_файл....

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, 19)

База 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
 Домик любопытного хомячка
Яндекс индекс цитирования
Почтовый ящик