Описание
[Инфостарт] Разбор XML документа — почти все возможные способы (2025)
![[Инфостарт] Разбор XML документа - почти все возможные способы (2025)](https://freekurses.site/wp-content/uploads/infostart-razbor-xml-dokumenta-pochti-vse-vozmozhnye-sposoby-2025.png)
К вам пришел XML документ, как получить из него данные для обработки в 1С. ЧтениеXML, ДокументDOM, XPath, ФабрикаXDTO, ПакетыXDTO в сравнении.
При обмене данными, как бы он не производился ( через файлы, через HTTP запросы или еще каким либо другим путем ) все равно основным форматом обмена является XML. В 1С существует несколько способов обработки XML документов – какой из них выбрать по критерию логической простоты и быстродействия? Для практической проверки различных методов был создан XML документ вида.
Задачей всех проверяемых методов было получение из XML файла массива, состоящего из структур со свойствами Номер, Дата, Поставщик, Состав, причем свойство Состав само является массивом структур со свойствами Номенклатура и Количество.
1) Первый метод – простое последовательное чтение XML.
Текущее положение в XML документе отслеживается в переменной ТекущийПуть и при поступлении текстового узла на основании этой переменной заполняются (или игнорируются) соответствующие данные 1С. Конечно, не совсем корректно оценивать логическую сложность программы в строках исходного текста, но тем не менее это самый большой объем из всех методов — 64 строки. Что касается быстродействия (оно проверялось на компьютере памятью в 8 Гб и процессором Intel i7 2.2 Ггц, было создано два файла один на 10 тысяч записей объемом 10 мегабайт, другой на 100 тысяч и 100 мегабайт соответственно) , то на файле 10 000 записей полная обработка заняла 30 секунд и на файле в 100 мегабайт линейно увеличилась в 10 раз.
2) Второй метод – получение из XML файла документа DOM и последовательный перебор всех узлов полученного документа
Логически этот метод весьма незначительно проще прямого ЧтенияXML (57 строк кода против 62), а вот с быстродействие картина интересная: для файла в 10 тысяч записей быстродействие составило 12 секунд (быстрее более чем в два раза) , но для файла со 100 тысячами записей резко поднялась до 1000 секунд (медленнее более чем в три раза).
3) Третий метод подобен второму, но вместо последовательного перебора узлов применен отбор требуемых узлов в DOM документе с помощью выражений XPath .
Этот метод немного проще чем простой перебор узлов в DOM документе, но быстродействие … При 10 000 записей 69 секунд , а для 100 000 обработка длилась более часа, так и не завершилась, после чего была снята принудительно.
Очевидно метод с использованием DOM, в особенности при поиске узлов документа XPath выражениями, надо использовать только для небольших изменений DOM документа со сложной структурой узлов.
Все последующие методы используют для разбора XML документа фабрику XDTO.
4) Четвертый метод использует метод ПрочитатьXML глобальной ФабрикиXDTO. При этом тип получаемого объекта не указывается, его определяет сам метод фабрики. Тут есть маленькая тонкость – в случае, если тип получаемого объектаXDTO не указан, фабрика не всегда может самостоятельно определить что она получила одиночный объект или список из нескольких одинаковых объектов ( в нашем примере если ПриходныйОрдер в XML документе будет один фабрика посчитает что ПриходыXDTO.ПриходныйОрдер это одиночный объект а не список).
Данный метод не только заметно проще, чем все предыдущие, но и показывает отличное быстродействие на 10 000 записях 4,6 секунды, а при 100 000 обработка длится 46 секунд. Что показывает линейную зависимость от объема обрабатываемого файла.
5) Пятый метод схож с предыдущим, но глобальной фабрике XDTO подается на вход не только сам XML документ, но и его тип. Этот тип берется из ветки конфигурации XDTO-пакеты. (Если те кто передает вам XML данные хорошие люди, то они должны передать вам и XML схему данных – файл с расширением .xsd из которого вы и создаете в своей конфигурации XDTO-пакет – команда импорт XML схемы …, если нет требуемый пакет обычно не сложно создать вручную, анализируя переданные XML данные).
Один нюанс – частенько XML данные передают без указания URI пространства имен ( атрибут xmlns). Если это так, то необходимо самому добавить недостающий атрибут в XML данные, что и делают первые три оператора процедуры.
Метод замечательный, как по простоте создания, так и по быстродействию – 3,1 секунды на 10 000 записях.
6) И последний метод. Это скорее некоторая модификация пятого метода, но для условия, что не используется объект конфигурации XDTO-пакет, и фабрика XDTO создается на ходу из текстового описания XML схемы. (Примечание 1-Конечно можно загнать схему в текстовый макет, и оттуда уже использовать, но для учебной программы так нагляднее. 2-Текстовый вариант XML схемы можно например получить создав XDTO-пакет в любой конфигурации XDTO-пакет и выполнив команду Экспорт XML схемы..)
В прилагаемой конфигурации (.cf) все методы разбора XML представлены в общей команде РазобратьXML, там же в другой общей команде СоздатьXML представлены средства для создания тестовых данных.
Автор курса: Инфостарт
Сайт продажника: https://infostart.ru/1c/tools/311011/
Цена с продажника: 1850 руб.
У нас Вы можете приобрести всего за 100 руб.

![[Инфостарт] Разбор XML документа - почти все возможные способы (2025)](https://infoshopik.com/wp-content/uploads/2025/02/infostart-razbor-xml-dokumenta-pochti-vse-vozmozhnye-sposoby-2025.png)

![[Ольга Шулова, Валентина Власенко] НДС: от понятия до декларации (2022)](https://infoshopik.com/wp-content/uploads/2022/05/olga-shulova-valentina-vlasenko-nds-ot-ponjatija-do-deklaracii-2022-324x324.png)
![[Елена Позднякова] Основы бухгалтерского учета и налогообложения (2023)](https://infoshopik.com/wp-content/uploads/2023/02/elena-pozdnjakova-osnovy-buhgalterskogo-ucheta-i-nalogooblozhenija-2023-324x324.png)
![[Дмитрий Герасимов] Мастер класс: 3 шага к идеальному НДФЛ в 1С (2022)](https://infoshopik.com/wp-content/uploads/2023/01/dmitrij-gerasimov-master-klass-3-shaga-k-idealnomu-ndfl-v-1s-2022-324x324.png)
![[Дмитрий Гончаров] Конвертация данных 3.1. Обмен через XDTO. Ранее технология КД 3.0 (2023) [Учебный центр №3]](https://infoshopik.com/wp-content/uploads/2023/08/dmitrij-goncharov-konvertacija-dannyh-3.1.-obmen-cherez-xdto.-ranee-tehnologija-kd-3.0-2023-uchebnyj-centr-3-324x324.png)
![[Елена Пономарева] Воинский учет в организации + образцы документов для работодателей (2023)](https://infoshopik.com/wp-content/uploads/2023/10/elena-ponomareva-voinskij-uchet-v-organizacii-obrazcy-dokumentov-dlja-rabotodatelej-2023-324x324.png)
![[Учет без забот][Ольга Шулова] Аудит базы 1С. Сверка с ФНС (2023)](https://infoshopik.com/wp-content/uploads/2023/08/uchet-bez-zabotolga-shulova-audit-bazy-1s.-sverka-s-fns-2023-324x324.png)
![[Ольга Бокова] Бухгалтерский учет и безопасность бухгалтера (2021)](https://infoshopik.com/wp-content/uploads/2021/12/olga-bokova-buhgalterskij-uchet-i-bezopasnost-buhgaltera-2021-324x324.png)
![[учетбеззабот.рф] Закрытие года в 1С:Бухгалтерии (обновлен в 2023г.)](https://infoshopik.com/wp-content/uploads/2023/02/uchetbezzabot.rf-zakrytie-goda-v-1sbuhgalterii-obnovlen-v-2023g.--324x324.png)
![[Дмитрий Гончаров] Математические инструменты в "1С:Предприятие 8" [УЦ-3] (2021)](https://infoshopik.com/wp-content/uploads/2021/12/dmitrij-goncharov-matematicheskie-instrumenty-v-1spredprijatie-8-uc-3-2021-324x324.png)
![[Ольга Краснова] Удаленный бухгалтер для физлиц (2023)](https://infoshopik.com/wp-content/uploads/2023/05/olga-krasnova-udalennyj-buhgalter-dlja-fizlic-2023-324x324.png)
![[Ольга Шулова] 6-НДФЛ с азов на практических примерах в 1С (обновлен в 2023г.) [учетбеззабот.рф]](https://infoshopik.com/wp-content/uploads/2023/05/olga-shulova-6-ndfl-s-azov-na-prakticheskih-primerah-v-1s-obnovlen-v-2023g.-uchetbezzabot.rf--324x324.png)
![III ежегодная онлайн-конференция по созданию продвинутых отчетов в Excel и Power Bi (2021) [Д.Якушев, А.Колоколов, О.Базалева, С.Ожиганов и др.]](https://infoshopik.com/wp-content/uploads/2021/12/iii-ezhegodnaja-onlajn-konferencija-po-sozdaniju-prodvinutyh-otchetov-v-excel-i-power-bi-2021-d.jakushev-a.kolokolov-o.bazaleva-s.ozhiganov-i-dr.-324x324.png)
![[Марина Медведева] Расчёт и увеличение пенсии шаг за шагом (2022)](https://infoshopik.com/wp-content/uploads/2022/12/marina-medvedeva-raschjot-i-uvelichenie-pensii-shag-za-shagom-2022-324x324.png)
![[Низамутдинов Ильяс] Задачи в 1С: Сборник тестовых заданий. Комплект 1 (2023)](https://infoshopik.com/wp-content/uploads/2023/10/nizamutdinov-iljas-zadachi-v-1s-sbornik-testovyh-zadanij.-komplekt-1-2023-324x324.png)
![[Ольга Шулова, Валентина Власенко] Бухгалтерская отчетность малого предприятия (2022)](https://infoshopik.com/wp-content/uploads/2022/04/olga-shulova-valentina-vlasenko-buhgalterskaja-otchetnost-malogo-predprijatija-2022-324x324.png)
![[Инфостарт] Базовый курс по обмену данными в системе 1С:Предприятие. Онлайн-интенсив с 19 июня по 12 июля 2023](https://infoshopik.com/wp-content/uploads/2023/07/infostart-bazovyj-kurs-po-obmenu-dannymi-v-sisteme-1spredprijatie.-onlajn-intensiv-s-19-ijunja-po-12-ijulja-2023-324x324.png)
![[Евгения Мемрук] Бухгалтер в контакте (март 2022)](https://infoshopik.com/wp-content/uploads/2022/04/evgenija-memruk-buhgalter-v-kontakte-mart-2022-324x324.png)
![[Специалист][Екатерина Санкина] Бухгалтерский учёт 2023. Теория и практика](https://infoshopik.com/wp-content/uploads/2023/05/specialistekaterina-sankina-buhgalterskij-uchjot-2023.-teorija-i-praktika-324x324.png)
![[С. А. Харитонов] Настольная книга по оплате труда и ее расчету в программе «1СЗарплата и управление персоналом 8» Издание 19 (2023)](https://infoshopik.com/wp-content/uploads/2023/08/s.-a.-haritonov-nastolnaja-kniga-po-oplate-truda-i-ee-raschetu-v-programme-1szarplata-i-upravlenie-personalom-8-izdanie-19-2023-324x324.png)
![[Андрей Денисов] Авторский курс Андрея Денисова. Для чего нужна 1С. Уровень 1 (2023)](https://infoshopik.com/wp-content/uploads/2023/07/andrej-denisov-avtorskij-kurs-andreja-denisova.-dlja-chego-nuzhna-1s.-uroven-1-2023-324x324.png)
![[учетбеззабот.рф] 1С: ЗУП для начинающих и не только (обновлен в 2023г.)](https://infoshopik.com/wp-content/uploads/2023/03/uchetbezzabot.rf-1s-zup-dlja-nachinajushhih-i-ne-tolko-obnovlen-v-2023g.--324x324.png)
![[Ольга Шулова] Работа с маркетплейсами при УСН (2023) [учетбеззабот.рф]](https://infoshopik.com/wp-content/uploads/2023/08/olga-shulova-rabota-s-marketplejsami-pri-usn-2023-uchetbezzabot.rf--324x324.png)
![[Гончаров Дмитрий] Конвертация данных 3.1. Обмен по правилам XML (ранее технология КД 2.1) (2023) [1С- Учебный центр №3 (1c-uc3.ru)]](https://infoshopik.com/wp-content/uploads/2023/04/goncharov-dmitrij-konvertacija-dannyh-3.1.-obmen-po-pravilam-xml-ranee-tehnologija-kd-2.1-2023-1s-uchebnyj-centr-3-1c-uc3.ru--324x324.png)
![[Ульяна Богданова] Как вести ИП на УСН. Доходы (2023)](https://infoshopik.com/wp-content/uploads/2023/05/uljana-bogdanova-kak-vesti-ip-na-usn.-dohody-2023-324x324.png)
![[infostart] Видеокурс-практикум: как подготовить и написать ТЗ, ЗНР, ЧТЗ (2023)](https://infoshopik.com/wp-content/uploads/2023/06/infostart-videokurs-praktikum-kak-podgotovit-i-napisat-tz-znr-chtz-2023-324x324.png)
![[Екатерина Кутняк] Маленькие секреты Excel (2022)](https://infoshopik.com/wp-content/uploads/2022/03/ekaterina-kutnjak-malenkie-sekrety-excel-2022-324x324.png)
![[ProductStar] Unit-экономика и P&L (2022) [Михаил Карпов, Илья Красинский]](https://infoshopik.com/wp-content/uploads/2022/10/productstar-unit-jekonomika-i-pl-2022-mihail-karpov-ilja-krasinskij-324x324.png)
![[Дмитрий Герасимов] Мастер класс: 3 шага к идеальному НДФЛ в 1С (2023)](https://infoshopik.com/wp-content/uploads/2023/01/dmitrij-gerasimov-master-klass-3-shaga-k-idealnomu-ndfl-v-1s-2023-324x324.png)
![[Инфостарт Николай Бондаренко] 1С: Предприятие для программистов: Расширения конфигурации. Четвертый поток. Онлайн-интенсив с 10 по 19 января 2023г.](https://infoshopik.com/wp-content/uploads/2023/02/infostart-nikolaj-bondarenko-1s-predprijatie-dlja-programmistov-rasshirenija-konfiguracii.-chetvertyj-potok.-onlajn-intensiv-s-10-po-19-janvarja-2023g.--324x324.png)
![[infostart.ru] Регламентированный учет и расчета себестоимости в ERP (с учетом новых возможностей 2.5.7) (2021)](https://infoshopik.com/wp-content/uploads/2022/01/infostart.ru-reglamentirovannyj-uchet-i-rascheta-sebestoimosti-v-erp-s-uchetom-novyh-vozmozhnostej-2.5.7-2021.png)
![[Максим Новак] Универсальные коллекции значений в 1С (2022) [Udemy]](https://infoshopik.com/wp-content/uploads/2022/12/maksim-novak-universalnye-kollekcii-znachenij-v-1s-2022-udemy-324x324.png)
![[Андрей Сухов] Дашборды в Excel (2023)](https://infoshopik.com/wp-content/uploads/2023/07/andrej-suhov-dashbordy-v-excel-2023-324x324.png)
![[Дмитрий Калиниченко] Основной курс по Администрированию 1С (2023) [курсы-по-1с.рф]](https://infoshopik.com/wp-content/uploads/2023/06/dmitrij-kalinichenko-osnovnoj-kurs-po-administrirovaniju-1s-2023-kursy-po-1s.rf--324x324.png)
![[Инфостарт] DevOps для 1С. Онлайн-курс (2020)](https://infoshopik.com/wp-content/uploads/2022/01/infostart-devops-dlja-1s.-onlajn-kurs-2020-324x324.png)
![[Дмитрий Гончаров] [УЦ-3] Работа отдела продаж в 1С ERP Управление предприятием 2. (2021)](https://infoshopik.com/wp-content/uploads/2022/01/dmitrij-goncharov-uc-3-rabota-otdela-prodazh-v-1s-erp-upravlenie-predprijatiem-2.-2021-324x324.png)
![[Николай Бондаренко] 1С: Библиотека стандартных подсистем для начинающих. Онлайн-курс (с 6 по 27 июня 2023г.) [infostart]](https://infoshopik.com/wp-content/uploads/2023/07/nikolaj-bondarenko-1s-biblioteka-standartnyh-podsistem-dlja-nachinajushhih.-onlajn-kurs-s-6-po-27-ijunja-2023g.-infostart--324x324.png)
![[infostart.ru] Практический видеокурс Задачи на работе: Управляемые формы и СКД (2022)](https://infoshopik.com/wp-content/uploads/2022/03/infostart.ru-prakticheskij-videokurs-zadachi-na-rabote-upravljaemye-formy-i-skd-2022-e1648586714362-324x324.png)
![[курсы-по-1с.рф] Объемно-календарное планирование в 1С:ERP 2.5 и УТ 11.5](https://infoshopik.com/wp-content/uploads/2023/06/kursy-po-1s.rf-obemno-kalendarnoe-planirovanie-v-1serp-2.5-i-ut-11.5--324x324.png)
Отзывы
Отзывов пока нет.