如何根据给定的值获取XML元素

时间:2014-06-09 12:41:08

标签: xml xslt

我想根据给定的字符串值检索XML元素节点。可以在嵌套XML中的任何级别描述元素节点,此XML没有特定的结构。如何在XSLT转换中执行此操作?

1 个答案:

答案 0 :(得分:0)

我会用一把钥匙:

<xsl:key name="k1" match="*[not(*)]" use="."/>

然后你可以使用例如。

<xsl:param name="string-value" select="'foo'"/>

<xsl:variable name="elements" select="key('k1', $string-value)"/>

如果可以有多个具有相同内容的元素,而您只对第一个元素感兴趣,请使用

<xsl:variable name="element" select="key('k1', $string-value)[1]"/>

假设您希望找到没有子元素的元素,其中字符串值与您的变量匹配,其他方法如匹配元素的名称当然也是可能的:<xsl:key name="k1" match="*" use="local-name()"/>