Разбор XML в соответствие или структуру (8.3)

05.04.22

Разработка - Инструментарий разработчика

XML файлы не всегда гигантские монстры. Иногда это достаточно скромные файлики, которые хочется видеть в виде встроенных в 1С представлений данных. Эта библиотечка позволит загружать небольшие XML файлы в виде структур и соответствий (теперь и с атрибутами :) ).

Скачать файлы

Наименование Файл Версия Размер
Обработка демонстрирующая использование разбора XML в структуру/соостветствие
.epf 7,80Kb
164
.epf 1.1 7,80Kb 164 Скачать

После открытия формы, выбираем xml файл и начинаем на него смотреть, с разных сторон.

Вид формы

Мой файл выглядит примерно так:

XML в редакторе FAR2

Нагляднее всего будет выглядеть структура:

Структура в отладчике

Но структура имеет массу неприятных ограничений на имена свойств. А вот XML этих неприятностей лищён. Для большей совместимости с исходным форматом данных можно испольщовать соответствие:

Соответствие в отладчике

Это конечно более громоздко, по сравнению со структурой, но позволяет работать с "внезапными" XML файлами. Составители которых не знают о наших проблемах, вызываемых именем тега начинающегося с цифры, или содержащего пробел.

XML Парсер

См. также

SALE! 20%

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

13000 10400 руб.

02.09.2020    121569    670    389    

710

SALE! 25%

Infostart PrintWizard

Пакетная печать Печатные формы Инструментарий разработчика Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

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

18000 15300 руб.

06.10.2023    7257    21    6    

39

SALE! 20%

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

10000 8000 руб.

10.11.2023    3492    11    1    

33

SALE! 30%

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

3600 2520 руб.

14.01.2013    177720    1073    0    

849

Многопоточность. Универсальный «Менеджер потоков» 2.1

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    99336    239    97    

296

[ЕХТ] Фреймворк для Расширений 1С

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Платные (руб)

"Фреймворк для Расширений 1С" это универсальное и многофункциональное решение, упрощающее разработку и поддержку создаваемых Расширений. Поставляется в виде комплекта из нескольких Расширений с открытым исходным кодом. Работает в любых Конфигурациях в режиме Управляемого приложения с режимом совместимости 8.3.12 и выше без необходимости внесения изменений в Конфигурацию.

3000 руб.

27.08.2019    18097    6    8    

39

1С HTML Шаблоны / HTML Templates

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

2040 руб.

27.12.2017    28089    3    10    

15

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

Инструментарий разработчика Обмен между базами 1C Платформа 1С v8.3 Платные (руб)

В процессе работы в 1С часто возникает потребность получить данные из другой базы.  Обычно это делается через COM-соединение, и время выполнения запроса при этом оставляет желать лучшего. В данной публикации представлено универсальное решение, позволяющее практически моментально выполнить произвольный код или запрос с параметрами в другой информационной базе через Web-сервис.

2400 руб.

24.09.2019    23592    15    15    

32
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. egorovntn 231 12.10.14 18:28 Сейчас в теме
Жалко что листинг не выложили, а то не все можно скачать...
2. vano-ekt 123 13.10.14 15:17 Сейчас в теме
а атрибуты как в соответствие записываются? тут только содержимое нодов на приведенном скрине
3. vano-ekt 123 13.10.14 15:22 Сейчас в теме
+(2) ЗагрузитьСтрокуXMLВДеревоЗначений() из типовых на первый взгляд кошернее
vit2013; mcd2003; +2 Ответить
4. mcd2003 20 13.10.14 16:09 Сейчас в теме
Gjrf(2) vano-ekt, Пока никак. Будет задача - будет модификация.
5. Yashazz 4709 13.10.14 19:08 Сейчас в теме
...а ещё можно выложить чтение xml как таковое, обалдеть какое сложное действие.
Докатились. Считывание xml в соответствия, структуры и иные коллекции уже заслуживает отдельной публикации.

Автор, вы, надеюсь, хотя бы используете некое красивое преобразование, или тупо циклом?
6. oleg_km 15.10.14 09:44 Сейчас в теме
А чем XDTO не угодил? Вроде все тоже делает, только встроенными средствами. С лета интенсивно пользую для разбора xml-файлов. Даже просто если нужно использовать большую структуру, то чтобы не захламлять код многочисленными .Вставить() сделал справочник ШаблоныXML и описываю такие структуры в XML.
7. mcd2003 20 26.10.14 17:16 Сейчас в теме
(6) oleg_km, в данном случае мешает отсутствие xsd. Даже просто какого-то описания формата входящего файла нет. Поэтому, вместо описания правил преобразования, и дальнейшего использования полученной структуры - просто разбирается произвольный файл в произвольну структуру.
Конечно, если формат входного файла известен, то XDTO будет в разы быстрее его разбирать.
8. Владимир Шинкевич 04.02.15 16:22 Сейчас в теме
(7) mcd2003, xsd можно получить из xml, например через онлайн конверторы. Этот xsd нужно подредактировать (добавить targetNamespace="http://www.nazvanie" после elementFormDefault="qualified") и 1с сделает из него пакет XDTO
9. a.terentev 14.06.16 11:50 Сейчас в теме
(6) oleg_km, согласен с mcd2003, нормальной работе мешает отсутствие схемы.
Например, делаю обмен с бюро кредитных историй: у одного бюро xml запроса строится по двум схемам - делаю без особых проблем (хотя и они были) через xdto. Но при выгрузке итогового xml надо убирать все неймспейсы и оставить только названия тегов - требование бюро. Приходится убирать их вручную через СтрЗаменить. В ответ приходит xml также слепленая из двух схем, но тоже без неймспейсов - в итоге с помощью xdto ее уже не распарсить - тут и пригодится такая обработка.
Во втором бюро вообще нет схемы xml, а все теги называются <s>, <c>, <a> и <n> - тут тоже пришлось писать свой парсер в структуру.
Так что все зависит от ситуации, и данное решение тоже имеет место...
10. mcd2003 20 05.04.22 20:44 Сейчас в теме
Добавлен разбор атрибутов
11. frkbvfnjh 785 20.01.23 07:27 Сейчас в теме
Ну а если в вас объект будет "Атрибуты", и в этом же элементе будут атрибуты? Это самый больной вопрос разбора XML. Вероятность конечно мала, но тем не менее
12. mcd2003 20 18.04.23 16:15 Сейчас в теме
(11)
Атрибуты

Элемент["Атрибуты"]["Атрибуты"]
Оставьте свое сообщение