开发者学堂课程【XML入门 :使用 dom4j 支持 XPATH 的操作二】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/37/detail/871
使用 dom4j 支持 XPATH 的操作二
内容介绍
一、使用 xpath 实现:获取第一个 p1 下面的 name 属性
二、使用代码练习
三、重点强调
一、使用 xpath 实现:获取第一个 p1 下面的 name 属性
//p1[@id=‘aaaa']/name
//p1 的属性,名称是@id,值是‘aaaa’。p1[@id=‘aaaa']下面的 name
元素
//使用到 selectSingleNode(“xpath 表达式”)方法
//此时的 name 值为一个
selectSingleNode(“p1[@id=‘aaaa']/name”)
二、使用代码练习
1.使用 xpath 实现:
获取第一个 p1 下面的 name 属性
public static void test2() throws Exception {
/*
*1.得到 document
*2.直接使用 selectSingleNode 方法实现
*
* */
//得到 document
Dom4jUtils.getDocument(Dom4jUtils.PATH);
//此时得到 Document,返回 Document
Document document = Dom4jUtils.getDocument(Dom4jUtils.PATH);
//直接使用 selectSingleNode 方法实现
document.selectSingleNode
//此时注意是 SingleNode
document.selectSingleNode(“p1[@id=‘aaaa']/name”);
//此时的返回值是 Node,所以此时直接使用 name 元素
Node name1 = document.selectSingleNode(“p1[@id=‘aaaa']/name”);
//name 元素
//得到的是 name 里面的值
name1.getText();
//返回的是String
String s1 = name1.getText();
System.out.println(s1);
2.实践
第一个 name 是 zhangsan
<person>
<p1 id1=”aaaa”>
<name>zhangsan</name>
<age>300</age>
<sex>nv</sex>
</p1>
<p1>
<name>lisi</name>
<age>30</age>
</p1>
</person>
此时得到的结果是 zhangsan,代码正确。
3.完整代码
/*
*1.得到 document
*2.直接使用 selectSingleNode 方法实现
*xpath://p1[@id=‘aaaa']/name
* */
//得到 document
Document document = Dom4jUtils.getDocument(Dom4jUtils.PATH);
//直接使用 selectSingleNode 方法实现
Node name1 = document.selectSingleNode(“p1[@id=‘aaaa']/name”);
//name 元素
//得到的是 name 里面的值
String s1 = name1.getText();
System.out.println(s1);
三、重点强调
1.selectSingleNode 方法是获得一个节点
2.书写形式://p1[@id=‘aaaa']/name