您可以使用Ant来构建/修改XML文件吗?

sar*_*eak 6 java xml ant

我对蚂蚁很新,一直在看任务.我正在尝试生成一个xml文件.我是否需要调用外部进程或者是否有某种方法可以执行此操作?它可以像将字符串发送到txt文件并将其另存为.xml一样简单.可能吗?

Reb*_*bse 10

当你必须在你的ant工作流中处理任何类型的XML处理时,强烈建议使用xmltask.非常详细的文档和良好的支持.除此之外你需要的只是一些XPATH知识.这里=> 另一篇有用的文章


Cra*_*der 6

正确的答案取决于你真正想要做的事情.

您可以使用echo任务和参数替换创建一个小的xml文档,但很难很快维护.

如果您的目标是生成一个主要是样板的XML文档,并替换了几个值,那么您应该查看创建模板文档,然后使用Copy with filtering任务.

如果您需要根据Ant的数据(或从其他地方收集)修改文档的结构,那么使用xslt任务将更适合.XSLT的问题在于它并不总是直接使用(XSLT使用函数式编程,而不是过程式编程).

您可能会发现正确的答案是编写您自己的Ant任务,它将按照您希望的方式完成您想要的任务.

如果你能更好地描述你想要实现的目标,我相信有人会乐意提供更准确的答案.


ton*_*nio 5

您可以使用该Replace任务替换模板中的给定字符串,并将其另存为xml。从ant文档中可以看到一个简单的示例:

<replace file="${src}/index.html" token="@@@" value="wombat"/>
Run Code Online (Sandbox Code Playgroud)

例如,我用它用@version@Java项目中的实际构建标识符替换了常量。

如果要执行更复杂的处理,则应查看XSLT任务。敌人的例子,要生成文档,并date在输出中进行替换,您可以使用类似以下内容的东西:

<xslt basedir="doc" destdir="build/doc"
      extension=".html" style="style/apache.xsl">
  <param name="date" expression="07-01-2000"/>
</xslt>
Run Code Online (Sandbox Code Playgroud)