无法从xml文件中提取文本节点

时间:2015-10-29 09:36:35

标签: xml ant

我正在尝试提取外部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}

处理器根本没有扩展。

非常感谢一些帮助。

1 个答案:

答案 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文件中的拼写错误。