我想根据给定的字符串值检索XML元素节点。可以在嵌套XML中的任何级别描述元素节点,此XML没有特定的结构。如何在XSLT转换中执行此操作?
答案 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()"/>
。