Сравнение структур XML-файлов

10.10.19

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

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

Скачать исходный код

Наименование Файл Версия Размер
Сравнение структур XML-файлов:
.epf 23,28Kb
23
.epf 23,28Kb 23 Скачать

Есть несколько файлов и есть образец, с которым их все надо сравнить. Например, некий обмен и вам дали образец, и вы пишете код, делающий файлы согласно образцу. Обработка позволяет отследить недочёты, допущенные в тегах, атрибутах, но игнорируя текстовое содержимое. Также игнорируются значения атрибутов, секции CData итд. По сути, это только две структуры с типами узлов, полными путями узлов, фактом наличия атрибутов и их именами.

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

Использованы 2 технологии - для релизов до 8.3.10 обычное ЧтениеXML из файла, для 8.3.10 и выше - через двоичные данные (описано в статье //infostart.ru/public/1130284/). Использовано чтение через документ DOM. Сделаны обычная и управляемая форма (асинхрон, без модальных). Одинаковые по структуре узлы схлопываются, что убыстряет работу.

Результаты показываются в виде таблиц с полным путём каждого узла. Различия в атрибутах в текущей версии не показываются - если надо, пишите в комментах, выведу. Файл, чей путь указан первым, считается образцом. При движении по таблице путей файлов для образца показывается его таблица данных по структуре, для остальных строк - таблицы результатов сравнения, различия; либо сообщение, что различий нет.

Если попадутся косяки - просьба писать, буду допиливать, т.к. материала для тестирования сейчас маловато.

Также, можно встроить разрезку хмл-файлов на куски, если они окажутся слишком велики для DOM, с помощью технологии, описанной в той же статье.

Тестировалось на 8.3.15.1534.

XML сравнение структура файлов

См. также

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

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

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

10000 руб.

02.09.2020    125018    683    389    

732

Infostart PrintWizard - создание и редактирование печатных форм в 1С 8.3

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

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

18000 руб.

06.10.2023    7783    24    6    

42

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

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

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

10000 руб.

10.11.2023    4291    12    2    

36

SALE! %

PowerTools

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

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

3600 2280 руб.

14.01.2013    178669    1084    0    

862

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

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

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

5000 руб.

07.02.2018    99641    239    97    

298

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

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

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

3000 руб.

27.08.2019    18398    6    8    

40

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

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

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

2400 руб.

24.09.2019    23859    16    15    

33

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

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

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

2040 руб.

27.12.2017    28328    3    10    

16
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. kraspila 90 14.10.19 10:43 Сейчас в теме
Сравнение содержимого тегов не производится? Можно ли убедиться с помощью обработки что файл, являющийся потомком исходного, содержит ту же информацию? Например, документ, созданный на основании имеет тот же набор номенклатуры?
2. Yashazz 4723 14.10.19 19:24 Сейчас в теме
Содержимое, если речь именно о том, что в терминах 1С называют "ТекстовоеСодержимое", игнорируется. Поэтому, если речь идёт о смысловом наполнении, эта обработка неприменима. Она для других задач.
3. maxx 991 23.01.20 11:37 Сейчас в теме
Поставил сразу выбор файла Все файлы (*.*), т.к. у меня файлы xml под разными расширениями лежат

Попробовал сравнить реальные файлы в работе 2 файла xsd разных версий, так и не понял, что мне сделать с результатами сравнения, как-то не понятно

Пример файлов прикладываю
Прикрепленные файлы:
11.13.0.11-hcs-house-management-types.xsd
12.2.2.15-hcs-house-management-types.xsd
4. Yashazz 4723 23.01.20 13:30 Сейчас в теме
Вот как раз xsd проще сравнивать другими инструментами. Если 1С сможет, загрузить как пакеты XDTO, и так смотреть. А моя обработка - для xml-файлов.
5. kislitsin 27.10.23 13:11 Сейчас в теме
Приветствую.
Сравнил два файла, непонятно что дальше делать с полученной таблицей и что она показывает.
В идеале иметь что то похожее на скрине который приложил.
Прикрепленные файлы:
6. user731221 14.12.23 18:44 Сейчас в теме
Добрый день.
Обработка выкидывает ошибку

Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: v Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: value Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа '{http://v8.1c.ru/8.1/data/core}ValueTable'
Оставьте свое сообщение