JAVA实现可视化的xpath_Java学习之XPath

一、XPath语言是一门专用于在XML文档中查找信息的语言,其他XML程序可利用XPath在XML文档中对元素和属性进行导航。

提问:为什么要查找标签和属性呢?

回答:因为XML文档是用来存储数据的,需要将数据提取出来使用,所以通过查找标签和属性进一步获取数据。

XPath节点:

f4029d34d661e71bbe969e2376882762.png

XPath基本概念

基本知识(或称为原子值)

-基本值专门用于表示简单的数据值,例如整数值,字符串等。我们可以把基本值当成没有父节点且没有子节点的节点。

例:"chinese"

-项是XPath2.0提出的一个术语,一个项代表一个节点或基本值。

节点集和序列

-在某些情况下,XPath表达式可以表示多个节点,多个节点组合在一起在XPath1.0里称为节点集。

-XPath2.0提出一个序列的概念,XPath2.0的序列可以代表一个普通的项,也可以代表节点集。

节点关系

父节点;子节点 ;兄弟节点;祖先节点;后代节点;

相对路径和绝对路径:

XPath同样支持相对路径和绝对路径,对于XPath而言,绝对路径以斜线(/)开头,而相对路径则不会以斜线(/)开头

例如:

4d11eacd45a20fedeaaa32f2886729af.png

XPath基础语法:

XPath使用路径表达式来定位XML文档中的节点或节点集,每个Xpath表达式总由多个步(step)组成,多个步之间用斜线分隔。

例如: /list/book/name

XPath中步的完整语法格式如下:

轴::节点测试[限定谓语]

XPath的步骤使用轴来定义所选节点与当前节点之间的结构关系。

adf856017381c27626500f6cd1977d92.png

节点测试:

节点测试用于从指定轴所匹配的节点集中选出特定的节点。

095ca90a35a69f74de488ca2740caed0.png

限定谓语:

限定谓语是一个boolean表达式,或者可以转换为boolean值得表达式,用于进一步提炼所选的节点集。限定谓语应该放在括号中。

child::book[1] 或 child::book[position()=1]

XPath运算符

算术运算符:

b29d39c11d3cb5fb4f5dde5bdb353063.png

比较运算符:

74fdb447561a1390150cfe8e5bbb87cb.png

逻辑运算符:

5cb115939921cf6e2d297648320f861f.png

组合多个路径的运算符:

XPath还提供了一个"|" 运算符,可用于组合多个路径表达式,通过“|”运算符,可以一次选取若干个路径。

例如:book[position()=1] | name[position()=last()]

节点相关的常见函数:

f45897c67b008e0ee93308d9afd37fbc.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值