加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

XML基础--XPath

发布时间:2020-12-16 01:54:38 所属栏目:百科 来源:网络整理
导读:1.引入 问题:当时用dom4j查询比较深的层次结构的节点时,比较麻烦 2.作用 快速获取节点对象 3.语法 / 绝对路径 表示从xml的根位置开始或子元素(一个层次结构) // 相对路径 表示不分任何层次结构的选择元素。 * 通配符 表示匹配所有元素 [] 条件 表示选择什

1.引入

问题:当时用dom4j查询比较深的层次结构的节点时,比较麻烦

2.作用

快速获取节点对象

3.语法

/ 绝对路径 表示从xml的根位置开始或子元素(一个层次结构)

// 相对路径 表示不分任何层次结构的选择元素。

* 通配符 表示匹配所有元素

[] 条件 表示选择什么条件下的元素

@ 属性 表示选择属性节点

and 关系 表示条件的与关系(等价于&&

text() 文本 表示选择文本内容



4.使用

a.导入XPath支持jar包

b.代码:

//先写一个Student.XML文件

<students>
<student id ="s001">
<name>张三</name>
<age>20</age>
<tel>1210</tel>
</student>
<student id = "s002">
<name>李四</name>
<age>26</age>
<tel>0123</tel>
</student>

</students>

//比如寻找id="s002"的student标签

Stringpath="//student[@id='s002']";


//寻找name为王五的人标签

Stringpath="//name[text()='王五']";


//配合xPath找到单个节点对象

ElementselectSingleNode=(Element)doc.selectSingleNode(path);

System.out.println(selectSingleNode.getName());


//找到根标签下的所有标签 selectNodes(path);配合xPath 找到多个节点

Stringpath="//student";

List<Node>selectNodes=doc.selectNodes(path);

for(Nodenode:selectNodes){

System.out.println(node.getName());

}

还有很多种方法,可查阅官方文档

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读