Регистрация Забыли пароль?
Логин
Пароль
Запомнить меня
Вход через ВКонтакте
Главная > Статьи > Обработка больших XML файлов

Обработка больших XML файлов

Передо мной возникла проблема сравнения большого количества XML-файлов, созданых в различных приложениях. Каждое приложение форматировало файлы по разному, у каждого был свой порядок трибутов. Это приводило к сложности в сравнении, так как рельные изменения в файлах мскировалить тисячами шумовых изменений таких как порядок атрибута.

Для решения этой проблемы был создан XMLProcessor которые форматирует XML файлы приводя их к одному стилю. XMLProcessor может исаользоваться в режиме командной строки для пакетных файлов. После обработки файлов с помощью XMLProcessor можно сравнить с использованием таких утилит как Araxis Merge, которая теперь показывает только реальные различия между файлами.

Еще одна проблема возникшая передомной была обработка Был проблемой обработки большого XML-файлов (50 мегабайт), из которого нужно было вырезать все элементы OrderItem (98% от содержимого файла), визуальные редакторы текста в течение длительного времени обрабатывали XML файл такого размера, поэтому было решено улучшить XMLProcessor для поддержки легкой манипуляции с XML-файлами, такие как добавление, удаление и замену компонентов

XMLProcessor.exe input.xml output.xml [task_file.txt] [PrettyPrint]

input.xml - обязательный параметр - путь к входной файл

output.xml - обязательный параметр - путь к выходному файлу

task_file.txt - не обязательный параметр - путь к файлу с задачами

PrettyPrint - не обязательный параметр - формат файла, предусматривают "красивый" вывод выходного файла

Пример

XMLProcessor.exe test1.xml test2.xml test1.task PrettyPrint

Задачи

XMLProcessor поддерживает три возможных команды ADD, DEL, CHN

ADD - добавить XML-теги до или после формата команды бирки "ADD condition [AFTR | BEFR] [FILE] source"

ADD - зарезервированное слово

Condition - имя XML тега до или после которого программа будет вставлять дополнительный тег

AFTR | BEFR - знак, который показывает, где, чтобы вставить дополнительные теги, AFTR после (по умолчанию) или BEFR соответсвенно перед

FILE знак, который показывает, что параметр source это путь к файлу

source - XML-тег или путь к файлу который должен быть добавлено

DEL - удалить тег указанных в условии, также удаляются все дочерние теги

CHN - тег замены условия на указаный источник

Пример файла задачи
# ADD command - add xml tag before of after condition tag
# format ADD condition [AFTR|BEFR] [FILE] source
# ADD - reserved word
# condition - xml tag name without <> case sentisive
# AFTR|BEFR optional parameter add source before or after condition tag AFTR default
# FILE mean that source is path to xml file
# source - xml tag that must be added ot path to xml file if FILE set
ADD date world
ADD date BEFR HELLO
# DEL command - remove condition tag and all childs
# format DEL condition
DEL http_method
# CHN connamd remove condition and past source
# fomat CHN condition [FILE] source
CHN unique_id FILE test_chn.xml

Скачать XMLProcessor

Скачать исходный код XMLProcessor
Вы можете добавить коментарий на етой странице или на странице форума тут.Постов 5.

Последний комментарий

11.07.2016
What I find so innsreetitg is you could never find this anywhere else.
10.07.2016
That's a brilliant answer to an inieresttng question http://indocdxog.com [url=http://gtfoqmjm.com]gtfoqmjm[/url] [link=http://ccidzqf.com]ccidzqf[/link]

Имя*E-mail
Код*