gpt4 book ai didi

xml - 哪种XQuery表达式将返回找到的每个节点的XPath?

转载 作者:行者123 更新时间:2023-12-03 17:18:15 24 4
gpt4 key购买 nike

我正在寻找一个XQuery的示例,该示例返回找到的每个节点的xpath。因此,例如,除了获取每个找到的节点的text()之外,我还想获取path()-但该函数似乎不存在:-)

我现在看到XPath 3.0规范定义了一个path()函数,该函数可以实现我想要的功能,但是显然这是3.0的新功能

http://www.w3.org/TR/2011/WD-xpath-functions-30-20111213/#func-path

最佳答案

正如Martin Honnen所说,选择特定节点的XPath表达式不是唯一的。例如,以下文档中的第二个y元素

<x>
<y id="1"/>
<y id="2"/>
</x>


可以通过(非排他)方式选择:

//y[2],
/x/y[2],
//*[@id = '2'],
/x/*[position() = last()]


如果您只想获取一些XPath表达式来选择节点,则 FunctX XQuery Function Library包含两个用于执行此操作的函数:


functx:path-to-node
返回一个XPath表达式,该表达式选择具有相同名称的所有节点,然后
祖先名称是您对其进行评估的节点。

在我们的示例中,它将为两个 x/y元素均返回 y(注意缺少的前斜杠)。
functx:path-to-node-with-pos还包括文档中每个祖先的位置,从而仅选择您传入的节点。

在示例中,第一个 y元素将生成 x/y[1],第二个 x/y[2]

关于xml - 哪种XQuery表达式将返回找到的每个节点的XPath?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9142347/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com