韩顺平XML学习7
来源:互联网 发布:中国第三季度经济数据 编辑:程序博客网 时间:2024/05/04 12:33
xpath的必要性
为了我们根据方便的访问的某个节点,我们可以使用xpath技术,当使用xpath后,就可以非常方便的读取到指定节点,xpath往往是结合dom4j一并使用.
说明:如果要使用xpath 则需要引入一个新的包:
原理图:
特别说明:
//@id
选择所有的id属性
<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
如果我们通过 //@id 取回的节点类型是 Attribue,不是Element
用法:
//3.可以使用xpath随心读取
List e=document.selectNodes("//@id");//返回多个元素
System.out.println(((Attribute)e.get(1)).getText());
注意:xpath 是可以任意组合:
比如:
<?xml version="1.0" encoding="utf-8"?>
<AAA>
<BBB id = "b1">
<CCC>
<KKK>k2</KKK>
</CCC>
<CCC>
<KKK>k1</KKK>
</CCC>
</BBB>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
要找到 <KKK>k2</KKK>
xpath 应该这样写 : /AAA/BBB[1]/CCC[1]/KKK
案例:
package five;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class XPath {
/**
* dom4j配合xpath案例
* @param args
*/
public static void main(String[] args)throws Exception {
//1,得到SAXReader解析器
SAXReader saxReader=new SAXReader();
//2,指定去解析哪个文件
Document document=saxReader.read("src/five/test.xml");
//3,可以使用xpath随心读取
List e=document.selectNodes("/AAA/BBB");//返回多个元素 document.selectSingleNode(arg0)返回一个元素
System.out.println(e.size());
List e1=document.selectNodes("//CCC");
System.out.println(((Element)e1.get(0)).getText().trim());
//父元素是BBB的CCC
List e2=document.selectNodes("//BBB/CCC");
System.out.println(e2.size());
}
}
Xml:
<?xml version="1.0" encoding="utf-8"?>
<AAA>
<BBB id = "b1">
<CCC>
sk
</CCC>
<CCC>
<KKK>k2</KKK>
</CCC>
<CCC>
<KKK>k1</KKK>
</CCC>
</BBB>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
<CCC/>
</AAA>
- 韩顺平XML学习7
- 韩顺平XML学习1
- 韩顺平XML学习2
- 韩顺平XML学习3
- 韩顺平XML学习4
- 韩顺平XML学习5
- 韩顺平XML学习6
- 韩顺平jsp学习笔记
- 韩顺平PHP学习笔记
- sql学习笔记(韩顺平)
- (笔记)韩顺平linux(视频7-8.08)学习笔记
- 韩顺平Servlet和Jsp学习笔记
- 韩顺平j2ee学习笔记与心得
- 韩顺平—— LINUX学习笔记
- 韩顺平java视频学习记录
- 韩顺平PHP视频学习-Mysql篇
- 韩顺平servlet学习笔记05-servletContext
- 韩顺平 javascript教学视频_学习笔记7_js自定义函数
- 五分钟理解一致性哈希算法(consistent hashing)
- 解析json
- 【杭电oj】1003 - Max Sum(最大子序列的和)
- java Socket用法详解
- 你必须知道的 34 个简单实用的 Ubuntu 快捷键
- 韩顺平XML学习7
- Bindservice失败的问题
- HTML语意标签
- Mysql 基础命令
- Quartz任务调度器与spring整合
- Restkit 简单使用
- 使用php获取一个月的第一天和最后一天
- Java之Base64实现文件和字符串之间的转换
- 蓝桥杯 三羊献瑞