我有一个包含以下内容的XML文件:
<option>
<test attr="a">text1</test>
<test attr="b">text2</test>
<test attr="c">text3</test>
</option>
我现在如何使用xslt提取text2? 我尝试的一切都给了我文字。
例如:
<xsl:if test="option/test/@attr='a'">
<xsl:value-of select="option/test"/>
</xsl:if>
答案 0 :(得分:1)
这个XPath应该为你提供text2值:
option/test[@attr='b']
它有效地说“选择具有值为'b'的attr属性的测试元素。”
所以你可以像这样使用它:
<xsl:value-of select="option/test[@attr='b']"/>
,无需xsl:if
。
答案 1 :(得分:1)
您需要使用谓词来指定“test
attr
的值为'a'”。
option/test[@attr='a']
您还需要了解相对路径和绝对路径之间的区别,并了解您正在调用路径的上下文 - 您使用的相对路径仅在当前节点为{{1}时才有效父母。