使用 xpath 的数组位置

Array position using xpath

如何使用 xpath 获取元素的位置。例子 。我有一个 xml 如下。

<a>
  <b>
    <c>
        <ID>12324234</ID>
        <FirstName>Something</FirstName>
        <LastName>Somethingelse</LastName>
    </c>
    <c>
        <ID>12324235</ID>
        <FirstName>Something</FirstName>
        <LastName>Somethingelse</LastName>
    </c>
  </b>
</a>

我正在尝试使用 xpath 表达式 /a/b/c/ID/text() 提取元素 id 。我坚持的是,我也想提取位置。

示例

12324234 , 1
12324235 , 2

逗号只是为了理解。我可以使用上面提到的 xpath 提取数据作为第一步,然后使用 xpath 作为位置。请注意数组可以有 n 个值,但不限于 2 个。

我尝试了 count 、 position 等,但没有成功。谁能建议我一些选择

您可以尝试以下 XPath 以获得所需的输出:

/a/b/c/concat(./ID/text(), ", ", (count(./preceding-sibling::c/ID) + 1))

输出:

12324234, 1
12324235, 2