使用 XPATH 从节点列表中选择唯一元素的列表

发布于 2024-11-08 04:28:50 字数 368 浏览 0 评论 0原文

XPATH 中是否可以从有许多相同元素的节点中选择唯一元素列表?

<Deserts>
 <Desert Code="C1">Popsicle<Desert>
 <Desert Code="H2">Ice Cream<Desert>
 <Desert Code="C1">Popsicle<Desert>
 <Desert Code="T1">Cheese Cake<Desert>
</Deserts>

在此示例中,我希望结果列表仅包含 3 个节点(冰棒/冰淇淋/芝士蛋糕)。

我如何使用 Xpath 选择这样的列表?

Is it possible in XPATH to select a list of unique element from a node where there are many of the same?

<Deserts>
 <Desert Code="C1">Popsicle<Desert>
 <Desert Code="H2">Ice Cream<Desert>
 <Desert Code="C1">Popsicle<Desert>
 <Desert Code="T1">Cheese Cake<Desert>
</Deserts>

In this example I want the resulting list to have only 3 nodes (Popsicle / Ice Cream / Cheese Cake).

How can I select such a list with Xpath?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

回梦 2024-11-15 04:28:50

尝试以下 xpath:

/Deserts/Desert[not(@Code=preceding-sibling::Desert/@Code)]

它将通过检查 Desert Code 属性返回不同的沙漠。

Try the following xpath:

/Deserts/Desert[not(@Code=preceding-sibling::Desert/@Code)]

It will return distinct deserts by checking the Desert Code attribute.

屌丝范 2024-11-15 04:28:50

XPath 2.0解决方案

(/*/*/@Code)[index-of(/*/*/@Code,.)[1]]

XPath 2.0 solution:

(/*/*/@Code)[index-of(/*/*/@Code,.)[1]]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文