Можно ли использовать Муравья для Создавания/Изменения XML-файлов?

Я довольно плохо знаком с муравьем и смотрел на задачи. Я пытаюсь генерировать XML-файл. Я должен назвать внешний процесс, или у муравья есть некоторый способ сделать это? Это могло быть столь же просто как отправка строки в txt файл и сохранение его как .xml. Действительно ли это возможно?

6
задан sarcasteak 17 June 2010 в 18:59
поделиться

4 ответа

Правильный ответ зависит от того, что вы на самом деле пытаетесь сделать.

Вы можете создать крошечный xml-документ, используя задачу echo и замену аргументов, но это становится трудно поддерживать очень быстро.

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

Если вам нужно изменить структуру документа в зависимости от данных из Ant (или собранных откуда-то еще), то лучше подойдет задача xslt . Проблема с XSLT заключается в том, что его не всегда просто использовать (XSLT использует функциональное программирование, а не процедурное программирование).

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

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

6
ответ дан 8 December 2019 в 05:53
поделиться

Вы можете использовать задачу Replace для замены заданной строки в шаблоне и сохранения ее в формате xml. Простой пример, приведенный в документации ant:

<replace file="${src}/index.html" token="@@@" value="wombat"/>

Я использовал его для замены константы @version@ на фактический идентификатор сборки в java-проекте, например.

Если вы хотите выполнить более сложную обработку, вам стоит обратить внимание на задачу XSLT . Например, для генерации документации с заменой даты в выводе, вы можете использовать что-то вроде:

<xslt basedir="doc" destdir="build/doc"
      extension=".html" style="style/apache.xsl">
  <param name="date" expression="07-01-2000"/>
</xslt>
5
ответ дан 8 December 2019 в 05:53
поделиться

Вы можете сделать это, хотя мне кажется, что это больше похоже на то, что вы хотите написать сценарий заранее, или на то, что вы можете вызвать из Ant.

Задача будет такой:

<echo file="my.xml"><!--put escaped xml here--></echo>

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

1
ответ дан 8 December 2019 в 05:53
поделиться

Когда вам приходится иметь дело с любым видом обработки XML в вашем рабочем процессе ant, настоятельно рекомендуется xmltask . Очень подробная документация и хорошая поддержка. Все, что вам нужно кроме этого, - это некоторые знания XPATH . Вот => еще одна полезная статья

10
ответ дан 8 December 2019 в 05:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: