我对蚂蚁很新,一直在看这些任务。我正在尝试生成一个xml文件。我是否需要调用外部进程或者是否有某种方法可以执行此操作?它可以像将字符串发送到txt文件并将其另存为.xml一样简单。有可能吗?
答案 0 :(得分:10)
如果您必须在蚂蚁工作流程中处理任何类型的XML处理,强烈建议使用xmltask。非常详细的文档和良好的支持。除此之外你需要的只是XPATH knowledge。这里=> another helpful article
答案 1 :(得分:6)
正确的答案取决于你实际上要做的事情。
您可以使用echo任务和参数替换来创建一个小的xml文档,但这很难很快维护。
如果您的目标是生成一个主要是样板的XML文档,并替换了几个值,那么您应该查看创建模板文档然后使用Copy with filtering任务。
如果您需要根据Ant中的数据(或从其他地方收集)修改文档的结构,那么使用xslt任务将更适合。 XSLT的问题在于它并不总是直接使用(XSLT使用函数式编程,而不是过程式编程)。
您可能会发现正确的答案是write your own Ant task,它会按照您想要的方式完全按照您的意愿行事。
如果你能更好地描述你想要达到的目标,我相信有人会乐意提供更准确的答案。
答案 2 :(得分:5)
您可以使用Replace
任务替换模板中的给定字符串,并将其另存为xml。
一个简单的例子,如ant文档中所示:
<replace file="${src}/index.html" token="@@@" value="wombat"/>
我用它来替换java项目中实际构建标识符的常量@version@
。
如果您想进行更复杂的处理,您应该查看XSLT
任务。例如,要生成文档,在输出中使用date
替换,您可以使用以下内容:
<xslt basedir="doc" destdir="build/doc"
extension=".html" style="style/apache.xsl">
<param name="date" expression="07-01-2000"/>
</xslt>
答案 3 :(得分:1)
你可以做到这一点,虽然在我看来你更喜欢事先想要编写的东西,或者你可以从Ant调用的东西。
任务将是:
<echo file="my.xml"><!--put escaped xml here--></echo>
这当然会很繁琐,因为一切都必须逃脱,但你可以做到。