前言
XPath,全称XML Path Language,即XML路径语言,它是一门在XML文档中查找信息的语言。XPath使用路径表达式来选取XML文档中的节点或节点集。这些节点是通过沿着路径(path)或者步(steps)来选取的。XPath不仅可以用于搜寻XML文档,同样适用于HTML文档的搜索。
特点:
- 灵活性:XPath可以用于定位和选择XML文档中的任何节点,无论节点的层次结构如何复杂。它可以根据节点的名称、属性、位置等多种条件来进行选择。
- 简洁性:XPath的语法相对简单明了,路径表达式直观且易于理解。使用XPath可以很容易地定位到所需的节点,而无需编写复杂的代码。
- 强大性:XPath支持大部分的节点选择、轴定位和运算符操作,可以实现更加复杂和精确的节点筛选和处理。XPath还支持函数的使用,可以进行数值计算、字符串处理等操作。
XPath广泛应用于XML解析、XSLT转换、XPath查询等领域,是XML技术中的重要组成部分。它可以用于解析XML文档,并根据节点的层次结构和属性值来定位和选择节点。同时,XPath在各种编程语言中都有应用,如Java、Python、C#等,为开发者提供了灵活且强大的工具来操作和查询XML数据。也是爬虫最常用的工具。
XPath的基本语法
XPath 是一种在 XML 文档中查找信息的语言,可用来在 XML 文档中对元素和属性进行遍历。以下是一些 XPath 最常用的基本语法格式:
选择节点
- 选择所有节点:
/
- 选择当前节点:
.
- 选择当前节点的父节点:
..
- 选择特定元素:
/元素名
或元素名
- 选择特定属性的值:
元素名/@属性名
选择多个节点
- 通过逗号分隔来选择多个元素:
元素1, 元素2, ...
- 选择具有特定属性的元素:
元素名[@属性名='属性值']
选择子节点
- 选择直接子节点:
父元素名/子元素名
- 选择所有后代节点:
父元素名//子元素名
选择特定位置的节点
- 选择第一个子节点:
父元素名/子元素名[1]
- 选择最后一个子节点:
父元素名/子元素名[last()]
- 选择具有特定位置的子节点:
父元素名/子元素名[位置]
基于条件选择节点
- 选择满足特定条件的元素:
元素名[条件]
- 选择属性值满足特定条件的元素:
元素名[@属性名=值]
- 使用逻辑运算符组合条件:
元素名[@属性1='值1' and @属性2='值2']
选择文本内容
- 选择元素的文本内容:
元素名/text()
选择属性和节点的组合
- 选择元素及其属性的组合:
元素名/@属性名, 元素名/子元素名
通配符
- 选择所有元素:
*
- 选择具有特定属性的所有元素:
*[@属性名='值']