从节点获取 XPath 位置谓词

问题描述 投票:0回答:1

有没有办法从节点的某个实例获取 XPath 位置谓词?

所以我搜索了一个

position(Node)
函数,它返回 DOM 树中节点的位置。

示例:

page.xml

<page>
    <line>
        <wd> bla </wd>
        <wd> blabla </wd>
    </line>
    <line>
        <wd> lorem </wd>
        <wd> ipsum </wd>
        <wd> dolor </wd>
        <wd> sit </wd>
    </line>
</page>

因此,应用于内容为

ipsum
的节点的函数应该返回类似:
second word, second line, first page

干杯

xml dom xpath xml-parsing domxpath
1个回答
1
投票

您可以使用

preceding-sibling
轴获取节点的位置。例如,如果包含字符串
wd
'ipsum'
元素位于变量
$ipsum
中,则可以使用以下方式确定其父元素中的位置:

count($ipsum/preceding-sibling::*) + 1

以及

$ipsum
的父级位置:

count($ipsum/../preceding-sibling::*) + 1
© www.soinside.com 2019 - 2024. All rights reserved.