XPath(XML Path Language)是一种用于在 XML 和 HTML 文档中定位节点的语言。它常用于 XML 解析、Web 数据抓取(如 Selenium 或 Scrapy)以及配置文件解析。本文将带你深入了解 XPath 的语法、功能及其在实际中的应用。
目录
一、什么是 XPath?
XPath 是 W3C 标准的一部分,主要用于在 XML 和 HTML 文档中通过路径表达式导航。它支持强大的查询功能,可以通过标签、属性、文本内容等多种方式快速定位节点。
XPath 的核心概念:
- 节点:文档的基本构成,包括元素节点、属性节点、文本节点等。
- 路径:用类似文件系统路径的方式表示节点的位置。
- 谓词:通过条件筛选节点。
二、XPath 的基本语法
XPath 使用路径表达式来选择节点。以下是一些常用的表达式和用法:
1. 绝对路径和相对路径
-
绝对路径:以
/开头,从根节点开始选择。/html/body/div匹配从根节点到
div的完整路径。 -
相对路径:以
//开头,从任意位置匹配符合条件的节点。//div匹配文档中所有的
div节点。
2. 通配符
*:匹配任意节点。/html/body/* # 匹配 body 下的所有子节点@*:匹配任意属性。//div[@*] # 匹配具有任意属性的 div 节点
3. 谓词
谓词使用 [] 表示,用于过滤节点。
- 按索引匹配:
//div[1] # 匹配第一个 div 节点 - 按属性匹配:
//div[@class='content'] # 匹配 class 属性为 'content' 的 div 节点 - 按文本内容匹配:
//div[text()='Hello World'] # 匹配内容为 'Hello World' 的 div 节点
4. 轴(Axes)
轴用于指定节点的关系,如父节点、兄弟节点、子节点等。
parent:选择父节点。//div/parent::body

最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



