XML DOM4J 三、XPath

1 什么是XPath

XPath即为XML路径语言(XML Path Language),它是一种用来确定XML文档中某部分位置的语言。XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力。起初 XPath 的提出的初衷是将其作为一个通用的、介于XPointer与XSL间的语法模型。但是 XPath 很快的被开发者采用来当作小型查询语言。

2 DOM4J对XPath的支持

在DOM4J中,Node接口中的三个方法最为常用:

  1. List selectNodes(String xpathExpression):在当前节点中查找满足XPath表达式的所有子节点;
  2. Node selectSingleNode(String xpathExpression):在当前节点中查找满足XPath表达式的第一个子节点;
  3. String valueOf(String xpathExpression):在当前节点中查找满足XPath表达式的第一个子节点的文本内容;
java 复制代码
Document doc = reader.read(new FileInputStream("person.xml"));
		
		Element root = doc.getRootElement();
		List<Element> eList = root.selectNodes("/persons");
		List<Element> eList1 = root.selectNodes("/persons/person/name");
		
		
		List<Element> eList2 = root.selectNodes("//age");
		List<Element> eList3 = root.selectNodes("//person/age");
		
		
		List<Element> eList4 = root.selectNodes("/*/*/address");
		List<Element> eList5 = root.selectNodes("//*");
		
		List<Element> eList6 = root.selectNodes("/persons/person[1]");
		List<Element> eList7 = root.selectNodes("/persons/person[last()]");
		
		
		List<Element> eList8 = root.selectNodes("//@id");
		List<Element> eList9 = root.selectNodes("//person[@id]");
		List<Element> eList10 = root.selectNodes("//person[@*]");
		List<Element> eList11 = root.selectNodes("//*[not(@*)]");
相关推荐
步、步、为营12 小时前
解锁C# XML编程:从新手到实战高手的蜕变之路
xml·数据库·c#
C_V_Better2 天前
Java 接收 XML 格式参数并转换为 JSON
xml·java·开发语言·数据结构·后端·算法·json
sunnyday04265 天前
MyBatis XML映射文件中的批量插入和更新
xml·java·mysql·mybatis
云中飞鸿6 天前
MFC中CString的Format、与XML中的XML_SETTEXT格式化注意
xml·c++·mfc
初见_Dream6 天前
Retrofit+OkHttp+ViewModel
xml·okhttp·retrofit
wolf犭良6 天前
14、《SpringBoot+MyBatis集成(2)——进阶配置XML与注解的灵活运用》
xml·spring boot·mybatis
Lojarro7 天前
JavaEE基础之- xml
xml·数据库·java-ee
m0_748233888 天前
使用 Logback 的最佳实践:`logback.xml` 与 `logback-spring.xml` 的区别与用法
xml·spring·logback
zhencon-com8 天前
如何使用qt开发一个xml发票浏览器,实现按发票样式显示
xml·c++·经验分享·python·qt·学习·金融