文章目录
1. 在线测试 - 推荐的这个在线匹配网站的比较准确
https://www.toolnb.com/tools/xpath.html
2. 概述
概念 == 示例XML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>
<span>你好</span>
</h1>
<a>链接</a>
<a id="link">链接</a>
<div>
<h2>测试</h2>
</div>
<div>
<span>fsdfds</span>
<h1>佛挡杀佛多少分</h1>
</div>
</body>
</html>
3. 语法
3.1 基础语法概述
3.2 测试应用
示例XML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>
<span mark='mark1' num='5'>你好</span>
</h1>
<a>链接</a>
<a id="link">链接</a>
<div>
<h2>测试</h2>
<span mark='mark2' num='10'>
<h1>fdsfdsfd</h1>
</span>
</div>
<div>
<span num='-1'>fsdfds</span>
<h1 id=title>佛挡杀佛多少分</h1>
</div>
</body>
</html>
3.2.1 节点 - 从根节点找子节点(不可找孙子起点)
3.2.2 / - 初始起点 - 当前节点为标准
初始起点是未进入节点故找不到
路径问题,故只匹配到一个ie
3.2.3 // - 在当前节点范围内的任意位置
任意位置的h1节点
h1的父节点必须是div
限死在div范围内的h1
3.2.4 . - 当前节点
3.2.5 … - 当前节点的父节点
3.2.6 @属性名 - 属性节点选择
仅能获取属性名以及对应的属性值
获取属性节点所属于的父节点
3.2.7 [] - 节点筛选
3.2.7.1 [数字(从1开始)] - 位置筛选
找第二个元素
3.2.7.2 [@属性名运算符’属性值’] - 属性筛选
找含有属性mark=mark2的节点
找含有属性num且值大于1的节点
3.2.8 运算符使用
3.2.8.1 用于配合[]属性筛选 - 逻辑元素符、算术运算符
找出属性是num=5 或者 10 的span节点
找出属性是num=5的span节点
找出属性是num=5且mark=mark2的span节点
找出属性num的值大于0的span节点
3.2.8.2 结果集并集
找出属性num的值大于0的span节点 且 还有属性名id的a节点