gpt4 book ai didi

Xpath 同级条件(或)

转载 作者:行者123 更新时间:2023-12-03 16:10:32 24 4
gpt4 key购买 nike

我试图找到第一个preceding-sibling具有 OR 条件的节点。
例如,我有一个节点 A我试图得到第一个前兄弟B但是如果没有B然后得到第一个前兄弟SPAN .

我不知道如何做 OR 条件:
这是我尝试过的:

A//preceding-sibling::B|SPAN[1]
A//preceding-sibling::B[1]|SPAN[1]
A//preceding-sibling::B[1]|preceding-sibling::SPAN[1]
A//(preceding-sibling::B[1]|preceding-sibling::SPAN[1]) // Xpath invalid
A//preceding-sibling::(B|SPAN)[1] // Xpath invalid
.... and many more

简而言之,我正在寻找:节点 -> preceding-sibling::NodeType1[1]preceding-sibling::NodeType2[1]
有没有办法用 Xpath 实现这一点,或者我必须尝试一个,如果没有结果,试试另一个?

编辑:

这个问题的好答案是我认为 StuartLC 的答案(我没有尝试过)。
如果您正在寻找 B 之间的第一个节点和 SPAN然后使用 har07 答案。

最佳答案

根据迈克尔的评论,请注意 *[name()='B' or name()='SPAN']将返回第一个 preceding-siblingBSPAN .

如果我正确理解您的问题,您想“回退”到 SPAN只有 IFF 没有 B preceding-siblingA一点也不。 AFAIK,您将需要使用联合重复查询:

(A/preceding-sibling::B[1] | A/preceding-sibling::SPAN[1])[1]

关于Xpath 同级条件(或),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27454765/

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