我正在尝试提取外部xml文件的文本节点并将其分配给属性,但是现在我正在努力回应它。谷歌搜索我找到了几种方法来做到这一点,但对我没有用。这是我尝试过的:
这是蚂蚁脚本buld.xml
:
<?xml version="1.0"?>
<project name="Hello World Project" default="info">
<target name="info">
<xmlproperty file="stest-case-1.xml"/>
<echo>Hello World - Welcome to Apache Ant!</echo>
<echo>${processor}</echo>
</target>
</project>
这是xml文件test-case-1.xml
(与ant脚本位于同一目录中):
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<processor>../../library/saxon-he-9-6-0-7j/saxon9he.jar"</processor>
<test-case name="test-case-1">
<object-under-test category="template" name="text-align"/>
<parameters>
<input name="text">text</input>
<input name="min-lenght">8</input>
<input name="align">left</input>
<output name="result"/>
</parameters>
<criteria>
<criterion class="equal" to="'text '"/>
</criteria>
</test-case>
</xsl:stylesheet>
我得到的结果是:
info:
[echo] Hello World - Welcome to Apache Ant!
[echo] ${processor}
处理器根本没有扩展。
非常感谢一些帮助。
答案 0 :(得分:1)
你使用了错误的属性,它就像那样=
<project>
<xmlproperty file="test-case-1.xml" collapseattributes="true"/>
<echo>$${xsl:stylesheet.processor} : ${line.separator}${xsl:stylesheet.processor}</echo>
</project>
只需使用${xsl:stylesheet.processor}
代替${processor}
输出:
[echo] ${xsl:stylesheet.processor} :
[echo] ../../library/saxon-he-9-6-0-7j/saxon9he.jar"
注意“在属性的末尾,似乎是test-case-1.xml文件中的拼写错误。