Dom4j 是 Java 中轻量、灵活的开源 XML 处理库,支持 DOM/SAX/JAXP/XPath;Maven 依赖需配置 groupId org.dom4j、artifactId dom4j、version 2.1.4;读取用 SAXReader,解析靠 getRootElement() 和 elementText();XPath 支持便捷定位,如 selectSingleNode();构建 XML 用 DocumentHelper.createDocument() 和 addElement(),输出可格式化。
Dom4j 是 Java 中一个功能强大且易用的开源 XML 处理库,支持 DOM、SAX、JAXP 和 XPath,特别适合需要灵活读写 XML 的场景。它比原生 JAXP 更简洁,比 JDOM 更轻量,是实际开发中常用的选择。
添加 Dom4j 依赖
使用 Maven 项目,直接在
pom.xml
中添加:
org.dom4j dom4j 2.1.4
注意:Dom4j 2.1+ 默认要求 Java 8+,且已内置 JAXEN(XPath 支持),无需额外引入。
读取 XML 并解析根节点和子元素
用
SAXReader
加载 XML 文件或字符串,获取 Document 后遍历结构:
立即学习
“
Java免费学习笔记(深入)
”;
创建
调用
或
通过
获取根元素
用
获取所有同名子元素,或
获取第一个匹配子元素
用
安全获取文本内容(自动去除首尾空白)
示例:解析 Java入门 ,可这样取值:
Eclipse导入Android或其他的JAVA项目的正确方法 WORD版
本文档主要讲述的是Eclipse导入Android或其他的JAVA项目的正确方法;希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看
下载
用 XPath 快速定位节点
Dom4j 对 XPath 支持友好,避免深层嵌套遍历:
—— 查找所有 id=101 的 book 元素
—— 取第一个 book 的 title
—— 直接获取属性值(返回 String)
注意:XPath 表达式区分大小写,且需确保命名空间正确(如含 namespace,需提前注册 Namespace 对象)。
构建并写入 XML 文件
新建 Document 可用
,添加元素用
,设置属性用
:
写入文件:
如需
格式化输出
(带缩进),用
构造 writer。
SAXReader reader = new SAXReader();reader.read(new File("config.xml"))reader.read("... ")document.getRootElement()element.elements("book")element.element("title")element.getTextTrim()String id = book.attributeValue("id"); String title = book.elementText("title");document.selectNodes("//book[@id='101']")document.selectSingleNode("/library/book[1]/title")element.valueOf("@price")DocumentHelper.createDocument()addElement()addAttribute()Element root = document.addElement("root");Element child = root.addElement("item").addAttribute("type", "info");child.setText("Hello World");XMLWriter writer = new XMLWriter(new FileWriter("output.xml")); writer.write(document); writer.close();OutputFormat.createPrettyPrint()