Анализ структуры файлов XML


Универсальная обработка, выбирающая все элементы и атрибуты xml-файла, и представляющая их в единственном экземпляре.

Добрый день!

На одном из сооседних бложиков прочитал, какие мучения претерпевали некие разработчики, грузящие в текстовый редактор многомегабайтные xml файлы для анализа.

Решил поделиться своим инструментом для подобных задач.

Итак: на вход подается xml-файл, из него выбираются все элементы и атрибуты, но — в единственном экземпляре.

Т.е., вместо 100500 элементов типа «Номенклатура» мы увидим всего один, но у него будут перечислены все возможные для этих элементов атрибуты и подчиненные элементы, для которых будут приведены примеры их заполнения.

Разбираться в структуре на таком примере гораздо проще.

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

К примеру, довольно сложный по структуре xml в 15 Мб так можно превратить в гораздо более читабельный 30 Кб файлик.

4 Comments

  1. Lancelot-2M

    И работать это будет вечность)) — для гиговых файлов на платформе 1С. Всем советую first object XML editor — работает с действительно большими файлами)

    Reply
  2. ditp

    (1) Lancelot-2M, время загрузки — примерно 1 секунда на мегабайт исходного xml.

    Тестировал на xml в 120-150 мб.

    Reply
  3. Lancelot-2M

    (2) чем читаете? и характеристика перестает быть линейной с ростом количества элементов в дереве…

    Reply
  4. ditp

    (3) Lancelot-2M, нет.

    С чего бы ей быть нелинейной?

    Поправка: время загрузки линейно зависит от количества элементов в исходном xml, но практически не зависит от количества элементов в дереве.

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

    Но на практике, файлы состоят все таки из более-менее однотипных элементов.

    Reply

Leave a Comment

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