Найти в Дзене
Полезности 1С

Разбор XML в 1С с помощью механизма XDTO

Механизм XDTO (XML Data Transfer Objects) собственная разработка 1С, который появился с выходом платформы 8.1. Это очень мощный инструмент, а удобный разбор XML лишь малая часть того, что он может. В рамках этой статьи останавливаться подробно на самом механизме не буду. Кроме использования XDTO существует множество способов парсинга XML файлов в 1С - от простого последовательного перебора текста, до использования внешних dll библиотек. Вот некоторые преимущества при использования для этой задачи именно этого механизм: Ниже примеры кода. Далее работаем с атрибутами, свойствами и текстом XML. Пример обработки можно скачать с моего сайта - demn1c.ru.

Механизм XDTO (XML Data Transfer Objects) собственная разработка 1С, который появился с выходом платформы 8.1. Это очень мощный инструмент, а удобный разбор XML лишь малая часть того, что он может. В рамках этой статьи останавливаться подробно на самом механизме не буду.

Разбор XML в 1С с помощью механизма XDTO
Разбор XML в 1С с помощью механизма XDTO

Кроме использования XDTO существует множество способов парсинга XML файлов в 1С - от простого последовательного перебора текста, до использования внешних dll библиотек. Вот некоторые преимущества при использования для этой задачи именно этого механизм:

  • Быстродействие - конвертация файла в ОбъектXDTO проходит сравнительно быстро. Стоит отметить, что время выполнения зависит от объема данных линейно.
  • Удобно программировать - тремя строчками кода, мы получаем готовый ОбъектXDTO из любого xml, с которым очень удобно работать используя синтаксис 1С "через точку".
  • В случае наличия xsd-схемы можно на ходу проверять соответствие файла схеме.

Ниже примеры кода.

Для получения ОбъектXDTO достаточно вызвать метод ПрочитатьXML глобальной ФабрикиXDTO
Для получения ОбъектXDTO достаточно вызвать метод ПрочитатьXML глобальной ФабрикиXDTO

Далее работаем с атрибутами, свойствами и текстом XML.

Свойства и атрибуты можно прочитать методом Свойства() ОбъектаXDTO
Свойства и атрибуты можно прочитать методом Свойства() ОбъектаXDTO
Текст и свойства XML получаем через Последовательность()
Текст и свойства XML получаем через Последовательность()

Пример обработки можно скачать с моего сайта - demn1c.ru.