Сравнение XML файлов

Простая и наглядная обработка, которая позволяет сравнить два и более XML файлов, (без учета порядка тегов, используя Фабрику XDTO). Управляемый интерфейс.

На вход подаются имена xml файлов, на выходе — дерево значений со структурой файлов. В качестве иерархии выступает иерархия наименований свойств, при этом сравниваются значения, соответствующие одинаковым наименованиям свойств.  Тестировалось на платформе 8.3.6, 8.3.12, работает на всех стандартных конфигурациях на управляемых формах.

8 Comments

  1. brunet

    Действительно нормально сравнивает файлы и даже разные теги

    Reply
  2. necropunk

    А по размерам файлов как она? Если, скажем 100 — 500 меговые файлы в нее запихать — умрет?

    Reply
  3. mxm2

    (2) Существенным недостатком обработки является то, что она сначала формирует ОбъектыXDTO (стандартными средствами 1С) в памяти, а потом их сравнивает, поэтому при работе с 2-3 большими файлами (3-4 мб) процесс затягивается на 2-3 минуты. Но при этом результат сравнения правильный.

    У меня процедурная часть обработки используется для сравнения двух сравнительно небольших файлов (16-32 кб) и это работает доли секунды.

    Еще один недостаток/фича — это то что не сравниваются имена «самых верхних» (скобочных) тегов файлов, но это особенность считывания при помощи Фабрики XDTO

    Reply
  4. necropunk

    (3) Ух, не, я не дождусь тогда конца сравнения, 1С и так его с трудом кушает. Обычным объектом ЧтениеXML до двух часов один файл открывается и обходится. Чтением через фабрики все сократил, все отлично, за несколько минут обрабатывается, но есть на горизонте задача ежедневного сравнения файлов поставщика и мониторинг этих изменений — пока не очень понимаю как к ней подойти.

    Reply
  5. Yashazz

    Я правильно понимаю, что можно сравнить структуры файлов, игнорируя содержимое тегов? Может ли обработка сделать вывод об идентичности структур, с учётом атрибутов или без?

    Reply
  6. mxm2

    (5) игнорируется порядок тегов, но не содержимое тегов. Обработка может сделать вывод об идентичности структур без учета порядка тегов, но с учетом их содержимого.

    Reply
  7. Yashazz

    (6) Понял, спасибо. Эх, придётся свою сделать, без учёта содержимого…

    Reply
  8. Yashazz

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *