XSLT - 查找元素名称不同的元素的位置

时间:2014-07-15 16:08:07

标签: xml xslt xpath position

我正在尝试使用XSLT在下面的XML中找到<b>元素(我希望是2)的位置:

<root>
  <a>
    ...
  </a>
  <b>
    ...
  </b>
</root>

我正试图在for-each循环期间通过root/*检索此值。

基于this similar question,我尝试过使用:count(root/b/preceding-sibling::*)+1,但我似乎得到的只是值'1'。谁能发现我在这里做错了什么?

1 个答案:

答案 0 :(得分:1)

  

我正试图在for-each循环期间检索此值   根/*.

我怀疑这是一个背景问题。在循环期间,您处于<a><b>的上下文中。在这两种情况下,相对路径root/b/...都不会选择任何内容。使用绝对路径可能会取得更大成功:

 count(/root/b/preceding-sibling::*)+1