XPath(XML Path Language)是一种用于在XML和HTML文档中查找信息的查询语言,主要通过路径表达式来定位节点元素。以下是XPath的核心要点:
一、基本概念
节点类型:包括元素节点、属性节点、文本节点、命名空间节点等7种类型
路径表达式:使用类似文件路径的语法定位节点,如/html/body/div1
设计初衷:作为XSLT、XPointer等技术的查询基础
二、核心语法
常用路径表达式:
/ 从根节点选取
// 从任意位置选取
. 当前节点
… 父节点
@ 选取属性
谓语筛选:
[1] 选取第一个元素
[last()] 选取最后一个
[@class=‘example’] 属性筛选
通配符:
*匹配任意元素
@ * 匹配任意属性
三、实际应用
网页爬虫:从HTML中提取特定数据
自动化测试:如Selenium元素定位
XML处理:文档转换和数据提取
八爪鱼等采集工具的基础定位语言
四、开发工具
浏览器开发者工具:可直接测试XPath表达式
Python库:lxml的etree模块
在线验证工具:如freeformatter.com
XPath 2.0/3.0增加了更多函数和序列处理能力,但1.0版本仍是应用最广泛的。掌握XPath能显著提升XML/HTML文档的处理效率。