使用 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
如何使用 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