如何使用XSLT在XML中获取特定值的文本

时间:2014-01-28 14:20:10

标签: xml xslt

我有一个包含以下内容的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>

2 个答案:

答案 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}时才有效父母。