XML基础--XPath

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());

}

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

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念