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(@*)]");
相关推荐
wpyok16819 小时前
密钥检测错误代码xml构建
xml
林开落L19 小时前
从入门到了解:Protobuf、JSON、XML 核心解析(C++ 示例)
xml·c++·json·protobuffer·结构化数据序列化机制
介一安全1 天前
【Web安全】XML注入全手法拆解
xml·web安全·安全性测试
2301_818732065 天前
项目启动报错,错误指向xml 已解决
xml·java·数据库·后端·springboot
csdn2015_5 天前
generatorConfig.xml 配置 Controller、Service 完整教程
xml·mybatis
特立独行的猫a6 天前
从XML到Compose的UI变革:现代(2026)Android开发指南
android·xml·ui·compose·jetpack
spencer_tseng6 天前
Stream not available [SysDictDataMapper.xml]
xml·java
qq_297574677 天前
MySQL迁移到瀚高数据库 常用转换函数对照表(附XML示例,直接复用)
xml·数据库·mysql
好好研究8 天前
SpringBoot整合SpringMVC
xml·java·spring boot·后端·mvc
从此不归路9 天前
Qt5 进阶【12】JSON/XML 数据协议处理:与后端/配置文件的对接
xml·开发语言·c++·qt·json