gpt4 book ai didi

xpath - 属性和元素上的 xquery 过滤器

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

我有以下简单的 XML 文档:

<?xml version="1.0" encoding="UTF-8"?>
<cars>
<car>
<data attrib="Make">
<text>Volvo</text>
</data>
<data attrib="Model">
<text>855</text>
</data>
</car>
<car>
<data attrib="Make">
<text>Volvo</text>
</data>
<data attrib="Model">
<text>745</text>
</data>
</car>
<car>
<data attrib="Make">
<text>Volvo</text>
</data>
<data attrib="Model">
<text>V70R</text>
</data>
</car>
</cars>

以及以下 XPath:
/cars/car/data[(@attrib='Model') and (text='855')]

这将返回以下结果:
<data attrib="Model"><text>855</text></data>

我希望 XPath 返回整个 <car>阻止比赛。

所以返回数据应该是这样的:
<cars>
<car>
<data attrib="Make">
<text>Volvo</text>
</data>
<data attrib="Model">
<text>855</text>
</data>
</car>
</cars>

我将如何修改上面的 XPath 表达式来实现这一点?

最佳答案

XPath 返回您到达的任何节点 - 在您的情况下,您将返回 data ,这就是您要返回的内容。如果你想要 car相反,将谓词放在 car 之后.

/cars/car[data/@attrib='Model' and data/text='855']

或者,稍微短一点
/cars/car[data[@attrib='Model' and text='855']]

您可以在 this XMLPlayground 运行它.

XQuery 以产生所需的输出:
<cars>
{/cars/car[data[@attrib='Model' and text='855']]}
</cars>

关于xpath - 属性和元素上的 xquery 过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11340449/

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