https://www.toolnb.com/tools/xpath.html
作用: 用于定位查找XML的元素-很像前端的选择器不过只是改变了写法
概念 == 示例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>
节点1. (文档)根节点:如上面的:<html>2. 元素节点:如上面的:<body>、<title>等3. 属性节点:如上面的:charset='UTF-8' 则其属性节点的父节点是 <meta charset='UTF-8'>
筛选器节点选取节点名:选取此节点的所有子节点 - 从根节点出发/:从根节点选取(取子节点)//:任意位置查找元素节点.:当前节点..:当前节点的父节点@:节点的属性筛选[]:筛选某位置(从1开始)节点以及符合属性的节点
运算符算术运算符:加减乘除取模(+、-、*、div、mod)比较运算符:=、!=、<、<=、>、>=逻辑运算符:or、and节点元素符:并集| == 如//book | //cd
示例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>
初始起点是未进入节点故找不到
路径问题,故只匹配到一个ie
任意位置的h1节点
h1的父节点必须是div
限死在div范围内的h1
仅能获取属性名以及对应的属性值
获取属性节点所属于的父节点
找第二个元素
找含有属性mark=mark2的节点
找含有属性num且值大于1的节点
找出属性是num=5 或者 10 的span节点
找出属性是num=5的span节点
找出属性是num=5且mark=mark2的span节点
找出属性num的值大于0的span节点
找出属性num的值大于0的span节点 且 还有属性名id的a节点
示例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'>X你好</span>
</h1>
<a>链接2</a>
<a id="link">X链接</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>
节点内容是【链接】的节点: //*[text()=‘链接’]
节点内容含有【链接】字眼的节点: //*[contains(text(),‘链接’)]
节点内容以【X】字眼开头的节点: //*[starts-with(text(),‘X’)]
节点的属性mark的值含有【mark】字眼的节点: //*[contains(@mark,‘mark’)]
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/weixin_39651356/article/details/122803177
内容来源于网络,如有侵权,请联系作者删除!