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

Java 您可以使用Ant构建/修改XML文件吗?,java,xml,ant,Java,Xml,Ant,我是ant的新手,一直在研究这些任务。我正在尝试生成一个xml文件。我是否需要调用外部进程,或者ant是否有办法做到这一点?它可以简单到将字符串发送到txt文件并将其保存为.xml。有可能吗?您可以这样做,尽管在我看来,这更像是您希望事先编写的脚本,或者您可以从Ant调用的脚本 任务将是: <echo file="my.xml"><!--put escaped xml here--></echo> 这当然会很乏味,因为所有内容都必须转义,但您可以这样做。

我是ant的新手,一直在研究这些任务。我正在尝试生成一个xml文件。我是否需要调用外部进程,或者ant是否有办法做到这一点?它可以简单到将字符串发送到txt文件并将其保存为.xml。有可能吗?

您可以这样做,尽管在我看来,这更像是您希望事先编写的脚本,或者您可以从Ant调用的脚本

任务将是:

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

这当然会很乏味,因为所有内容都必须转义,但您可以这样做。

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

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

正确的答案取决于你实际想做什么

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

如果您的目标是生成一个XML文档,该文档大部分是样板文件,并替换了几个值,那么您应该考虑创建一个模板文档,然后使用该任务

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

你可能会发现,正确的答案是,它会做你想做的事情,就是你想做的事情


如果您能更好地描述您试图实现的目标,我相信有人会乐意提供更精确的答案。

当您必须在ant工作流中处理任何类型的XML处理时,强烈建议使用。非常详细的文档和良好的支持。除此之外,你所需要的只是一些。Here=>

这项任务对于您想要做的事情来说还不够吗?谢谢,这些答案都非常有用。谢谢,我使用了带过滤的复制,效果非常好!只是一个“边缘案例”问题-“使用筛选器复制”任务是否正确处理包含特殊XML字符的值(使用筛选器复制是愚蠢的——它所做的只是使用值替换来复制字节。诀窍在于您在XML构建文件中定义值。如果您首先能够正确定义值,那么使用筛选器复制将很好地替换它们。
<xslt basedir="doc" destdir="build/doc"
      extension=".html" style="style/apache.xsl">
  <param name="date" expression="07-01-2000"/>
</xslt>