我们需要从ant中调用一个可执行文件,它将xml作为参数的一部分。使用exec很容易,但其中一个参数包含一个xml文件。我们试图加载使用与striplinebreaks如何在exec蚂蚁任务中将xml文本作为参数传递?
<loadfile property="xmlStuff" srcFile="xmlFile.xml">
<filterchain>
<striplinebreaks/>
</filterchain>
</loadfile>
<exec executable="theCommand">
<arg value="Some other information and now our xml: '${xmlStuff}'" />
</exec>
有没有我们可以阅读和转义XML文档在这种情况下使用的方式的loadFile目标xml文件?
编辑自xmlStuff引用了它的属性,它们结束了arg valute属性引号。
所以上面的例子中结束了,如:
theCommand "Some other information and now our xml: '<outerTag myAtt="foobar"> <innerTag /> </outerTag>'"
相反的:
theCommand Some other information and now our xml: '<outerTag myAtt="foobar"> <innerTag /> </outerTag>'
有什么办法有报价基本上三层?
一个用于arg标签的值属性(可能这些值不包含在最终命令中?)。
一个用于表示嵌套字符串的arg标记。
一个用于xmlStuff内的属性。
此文件被注入到数据库中,现在不可用。
你是什么意思“突破arg标签”?什么是你正在得到确切的错误信息?在可执行文件修复冒号后尝试使用可执行文件,这些文件只是回应它的参数,对我来说工作的很好。 – 2009-10-25 08:12:56
感谢结肠。 我已经更新的问题了一点,但评估后$ {} xmlStuff的ARG标签看起来像: ” /> 嵌入式XML是大问题。 –
Adam
2009-10-26 16:32:05
您确定扩展为包含尖括号的值的变量实际上是您的问题吗?据我了解,Ant解析XML后扩展了变量引用,所以它不会影响解析。我试着用你的例子,它对我有用。你究竟测试了什么,你得到了什么错误? – 2009-11-04 21:37:01