如何根据某个属性值获取节点的位置?以下文章介绍了如何使用元素执行此操作:
Find position of a node using xpath
因此,如果我们将上述帖子中的示例xml更改为:
<a>
<b val="zyx" />
<b val="wvu" />
<b val="tsr" />
<b val="qpo" />
</a>
我如何获得a / b [@val ='tsr']的位置?
答案 0 :(得分:1)
应该几乎完全相同:
count(a/b[@val='tsr']/preceding-sibling::*)+1
使用示例......
XSLT 1.0
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:value-of select="count(a/b[@val='tsr']/preceding-sibling::*)+1"/>
</xsl:template>
</xsl:stylesheet>
输出:
3