xpath:破译这个 xpath?

标签 xpath

这个 xpath 是什么意思?有人可以破译这个吗?

//h1[following-sibling::*[1][self::b]]

最佳答案

选择每个 h1元素(在上下文节点的文档中)紧跟一个 b元素(没有其他中间元素,尽管可能有中间文本)。

分解它:

//h1

选择每个 h1元素是包含上下文节点的文档根节点的后代;
[...]

过滤掉任何这些 h1不符合以下条件的元素:
[following-sibling::*[1]...]

使得接下来的第一个同级元素通过了这个测试:
[self::b]

self 是一个 b元素。从字面上看,这最后一个测试的意思是,“当我从上下文节点开始并选择受节点测试的自我(即上下文节点)时,该节点测试过滤掉除了名为 b 的元素之外的所有内容,结果是一个非空的节点集。”

关于xpath:破译这个 xpath?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4183654/

相关文章:

XPath:排除子元素

用于爬行的 XPath 跟随 sibling 不返回 sibling

python - 如何向在Python中使用lxml中的xpath找到的标签添加属性?

java - 如何通过Xpath提取登录用户的文本

xpath - 如何获得前面的元素?

c# - 当存在未关闭的 html 标签时,是否可以解决 HtmlAgilityPack 中的问题?

xpath - 使用 YQL 多查询和 XPath 解析 HTML,如何转义嵌套引号?

html - 用于在另一个节点之后获取节点的 XPath 语法?

c# - XML 中的不同值

selenium - 如何通过相应的标签名称选择复选框