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(@*)]");
相关推荐
柊二三10 小时前
XML的简略知识点
xml·数据库·oracle
探索java18 小时前
Spring 解析 XML 配置文件的过程(从读取 XML 到生成 BeanDefinition)
xml·java·spring·xmlbeanfactory
阿华的代码王国2 天前
【Android】相对布局应用-登录界面
android·xml·java
工藤新一OL2 天前
把xml的格式从utf-8-bom转为utf-8
xml·c#·asp.net·.netcore·visual studio
henysugar2 天前
便捷删除Android开发中XML中重复字符串资源的一个办法
android·xml
程序员编程指南2 天前
Qt XML 与 JSON 数据处理方法
xml·c语言·c++·qt·json
龚子亦4 天前
【Unity开发】数据存储——XML
xml·unity·游戏引擎·数据存储·游戏开发
海哥编程4 天前
Python 进阶(七):XML 基本操作
xml·javascript·python
胖大和尚6 天前
删除 XML 格式中双引号内的空格
xml
中游鱼6 天前
使用C#对象将WinRiver项目文件进行复杂的XML序列化和反序列化实例详解
xml·c#·序列化和反序列化·属性的序列化和反序列化·完整序列化·adcp和winriver