XPath – 快速入门使用 – 配案例测试

导读:本篇文章讲解 XPath – 快速入门使用 – 配案例测试,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

1. 在线测试 – 推荐的这个在线匹配网站的比较准确

https://www.toolnb.com/tools/xpath.html

2. 概述

作用: 用于定位查找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′>

3. 语法

3.1 基础语法概述

筛选器

节点选取

节点名:选取此节点的所有子节点 – 从根节点出发

/:从根节点选取(取子节点)

//:任意位置查找元素节点

.:当前节点

..:当前节点的父节点

@:节点的属性筛选

[]:筛选某位置(从1开始)节点以及符合属性的节点

运算符

算术运算符:加减乘除取模(+、-、*、div、mod)

比较运算符:=、!=、<、<=、>、>=

逻辑运算符:or、and

节点元素符:并集| == 如//book | //cd

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节点
在这里插入图片描述

3.2.9 内置函数的使用

示例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://www.bmabk.com/index.php/post/46424.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!