首页 > 其他分享 >数据解析 - xpath 语法

数据解析 - xpath 语法

时间:2024-10-15 09:21:06浏览次数:7  
标签:xpath 选择 元素 id 语法 谓词 div 解析 节点

1、基础语法

(1)/

说明:从根节点开始。

示例:/html/body

(2)//

说明:选择匹配的任何位置。

示例://input

(3).

说明:当前节点。

(4)..

说明:父节点。

(5)@

说明:选择属性。

示例://*[@id="kw"] # 表示选择具备 id="kw" 属性的节点

(6)[node]

说明:选择所有 node 子元素。

(7)[@attr]

说明:选取带有 attr 属性的所有元素。

(8)*

说明:通配符,表示任意节点或任意属性。

示例://*[@id="kw"]

 

 

2、选取节点

使用XPath选取节点0

例如:

//div         #选择所有div元素

//div[@class]     # 选择带有class属性的div元素

//div[@id='myId']   # 选择id属性为'myId'的div元素

 

3、路径表达式

XPath使用路径表达式来选取节点。

例如:

//div/p   # 选择所有div下的p元素

//div//p   # 选择所有div下的所有p元素

 

4、通配符

使用通配符匹配元素。

例如:

//*    # 选择所有元素

//div/*   # 选择所有div下的所有子元素

 

5、提取标签的文本数据

使用XPath提取文本内容,返回的对象是一个列表。

例如:

//p/text()   # 提取p元素的文本内容

 

6、谓词

当使用XPath时,谓词是一种用于过滤节点的表达式。

谓词用于在路径中添加条件,以选择满足特定条件的节点。

 

//div[@class='highlight']   # 选择class属性为'highlight'的div元素

//ul/li[position()<3]       # 选择ul下的前两个li元素

 

1. 谓词基础

谓词的基本语法是在方括号中放置条件表达式。例如:

//div[@class='highlight'] # 选择class属性为'highlight'的div元素

 

2. 比较运算符

在谓词中可以使用比较运算符,例如:

//p[@id='para1'] # 选择id属性为'para1'的p元素
//a[@href!='#'] # 选择href属性不等于'#'的a元素
//input[@type='text' and @name='username'] # 选择type为'text'且name为'username'的input元素

 

3. 位置谓词

位置谓词用于选择特定位置的节点,谓词下标从 1 开始。例如:

 

标签:xpath,选择,元素,id,语法,谓词,div,解析,节点
From: https://www.cnblogs.com/tudigong/p/18466763

相关文章

  • Vue组件及组件化:深入解析与组件生命周期
    Vue组件及组件化:深入解析与组件生命周期Vue.js作为一款渐进式JavaScript框架,凭借其易用性、灵活性和高性能,在前端开发领域占据了一席之地。其中,组件化开发是Vue.js的核心特性之一,它极大地提高了代码的可复用性、可维护性和可测试性。本文将深入解析Vue组件及组件化的概念,并......
  • 毕设分享《基于jsp“众优”大学生家教平台的设计与实现》(源码+lw+解析等)
    1.个人简介 博主介绍:  ✌我是一位专注于计算机技术领域的程序员,全网拥有30W+粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台的优质作者。通过长期分享和实战指导,我致力于帮......
  • 《GESP1级2303 单选题判断题》 解析(附加编程题)
    描述一、单选题(每题2分,共30分)1.以下不属于计算机输入设备的有(B)。A、键盘B、音箱C、鼠标D、传感器这是一道关于计算机输入设备识别的问题。我们需要分析每个选项,确定它们是否属于计算机的输入设备。‌键盘(A选项)‌:键盘是计算机的一种基本输入设备,用于输入......
  • [C++] 红黑树的实现:原理与底层解析
    文章目录@[toc]红黑树的概念红黑树的规则红黑树如何确保最长路径不超过最短路径的2倍红黑树规则最短路径与最长路径的分析最短路径:全黑路径最长路径:红黑交替路径结论:红黑树的平衡性如何保障操作效率红黑树的实现红黑树的节点结构红黑树的插入操作插入基本步骤插入......
  • Javaweb之SpringBootWeb案例之 登录功能的详细解析
     1.登录功能1.1需求编辑在登录界面中,我们可以输入用户的用户名以及密码,然后点击"登录"按钮就要请求服务器,服务端判断用户输入的用户名或者密码是否正确。如果正确,则返回成功结果,前端跳转至系统首页面。1.2接口文档我们参照接口文档来开发登录功能基本信息请求路径:/login请......
  • Java基础语法-变量,常量,作用域
    变量、常量、作用域变量是什么:就是可以变化的量。Java是一种强类型语言,每个变量都必须声明其类型。Java变量是程序中最基本的存储单元。其要素包括变量名,变量类型和作用域。typevarName[=value][{,varName[=value]}];//数据类型 变量名=值;可以使用逗号隔开来声明多个同......
  • 【Java 22 | 3】 深入解析Java 22 :轻量级线程
    Java22轻量级线程特性详细介绍基础介绍轻量级线程(VirtualThreads)是Java平台在Java19中引入的特性,目的是简化并发编程并提高应用程序的可伸缩性。在Java22中,轻量级线程得到了进一步的完善,使得开发者能够更方便地创建和管理大量并发任务。轻量级线程的特点高......
  • 深入解析ClickHouse:优势、架构、数据组织与应用场景
    引言在大数据时代,随着数据量的不断增长,越来越多的企业需要高效的数据分析工具来支持实时决策。ClickHouse作为一款高性能的列式数据库,因其在实时分析处理方面的卓越表现,逐渐在数据仓库领域脱颖而出。本篇博客将对ClickHouse进行深入解析,全面介绍其优势、数据架构、数据组织方......
  • python3.6 解析svg保存到mysql
     1importjson2fromcollectionsimportCounter3fromjsonimportJSONDecodeError45importmysql6importrequests7fromlxmlimportetree89#定义远程SVG文件的URL10file=r'D:\tmp_files\jmx\0919_3568.txt'11dat......
  • Windows11下安装wsl报错:无法解析服务器的名称或地址
    问题描述之前在自己的笔记本电脑(Windows10)上下载安装WSL很顺利,具体教程见前面的文章,但是在新电脑(Windows11)上下载就报错:无法解析服务器的名称或地址,按照网上说的两个解决方案:修改 DNS 为手动114.114.114.114;查询 raw.githubusercontent.com 这个域名对应的能ping通的ip,......