gpt4 book ai didi

html - 层次结构中具有可选元素的 XPath

转载 作者:技术小花猫 更新时间:2023-10-29 11:41:08 24 4
gpt4 key购买 nike

如本 Stack Overflow answer假设您需要选择一个特定的表,然后选择它的所有行。由于 HTML 的宽松性,以下所有三个都是合法的标记:

<table id="foo"><tr>...</tr></table>
<table id="foo"><tbody><tr>...</tr></tbody></table>
<table id="foo"><tr>...</tr><tbody><tr>...</tr></tbody></table>

您担心表格嵌套在表格中,因此不想使用像
这样的 XPath表[@id="foo"]//tr

如果您可以将所需的 XPath 指定为正则表达式,它可能类似于:
表[@id="foo"](/tbody)?/tr

一般来说,如何指定允许选择器层次结构中的可选元素的 XPath 表达式?

明确地说,我并不是要解决现实世界的问题或选择特定文档的特定元素。我正在寻求解决一类问题的技术。

最佳答案

我不明白为什么你不能使用它:

//table[@id='foo']/tr|//table[@id='foo']/tbody/tr

如果你想要一个没有节点集并集的表达式:

//tr[(.|parent::tbody)[1]/parent::table[@id='foo']]

关于html - 层次结构中具有可选元素的 XPath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4611474/

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