Обработка XML

Сделан в версии 1.4 Mensian Ant

Пример будет понятней, если заглянуть на страницу Как пользоваться.

Обработка XML

Любой XML можно отредактировать обычным текстовым редактором. Но бывают случаи, когда изменений нужно внести очень много и их невозможно сделать простой автозаменой одного текста на другой.

Рассмотрим один из подобных случаев. Нужно удалить блоки по определённому условию. Файл состоит из версии XML, главного тега <breakfast_menu>...</breakfast_menu> и блоков <food>...</food> вида:

обработка XML


И нужно удалить те из блоков, внутри которых встречается <calories>900</calories>. Но не забыть оставить версию XML и главный тег. Текстовые редакторы, даже поддерживающие регулярные выражения, помочь в этом не могут. А Mensian Ant может.

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

Из содержимого получаем "части строки совпадающие с шаблоном"

обработка XML

Обратите внимание, что из "любых знаков" обычно исключается перенос строки. В данном случае, нам переносы строк тоже нужны, поэтому галку убираем.

обработка XML

Вот и наши блоки. Теперь нужно из них выбрать те, что не содержат <calories>900</calories>. Выбираем преобразования → отфильтровать, а внутри добавляем действие проверки→содержит ли строка другую строку.

обработка XML

Нам нужно не оставить, а убрать выбранные блоки. Поэтому, инвертируем условие.

обработка XML

Теперь можно записать отфильтрованные блоки обратно в файл. Для этого "запоминаем результат" и выбираем действие для файла "записать список".

обработка XML

Не забываем про обрамляющий тег и версию XML:

обработка XML обработка XML

Алгоритм работы целиком:

обработка XML

Результат:

обработка XML

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



Остались вопросы? Напишите нам или задайте вопрос на форуме