首先添加dom4j依赖,然后创建XML文件,接着使用SAXReader读取并解析XML,获取根元素后遍历book节点,提取id属性及title、author、price子元素文本并打印输出。

使用Java解析XML文件时,dom4j是一个非常流行且功能强大的开源库。它提供了简洁的API来读取、操作和写入XML数据,相比原生的DOM或SAX更易于使用。下面是一个入门级教程,帮助你快速掌握如何用dom4j解析XML文件。
1. 添加dom4j依赖
如果你使用Maven项目,在pom.xml中添加以下依赖:
<dependency>
<groupId>org.dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>2.1.3</version>
</dependency>
Gradle用户可使用:
implementation 'org.dom4j:dom4j:2.1.3'
下载jar包的用户需手动将dom4j的jar加入classpath。
立即学习“Java免费学习笔记(深入)”;
2. 准备一个简单的XML文件
在项目资源目录下创建一个名为book.xml的文件:
<?xml version="1.0" encoding="UTF-8"?>
<books>
<book id="1">
<title>Java编程思想</title>
<author>Bruce Eckel</author>
<price>89.00</price>
</book>
<book id="2">
<title>Effective Java</title>
<author>Joshua Bloch</author>
<price>79.00</price>
</book>
</books>
3. 使用dom4j读取并解析XML
下面代码演示如何加载XML文件,并遍历所有book节点:
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import java.io.File;
import java.util.List;
public class Dom4jExample {
public static void main(String[] args) {
SAXReader reader = new SAXReader();
try {
Document document = reader.read(new File("src/book.xml"));
Element root = document.getRootElement();
List<Element> books = root.elements("book");
for (Element book : books) {
String id = book.attributeValue("id");
String title = book.elementText("title");
String author = book.elementText("author");
String price = book.elementText("price");
System.out.println("ID: " + id);
System.out.println("书名: " + title);
System.out.println("作者: " + author);
System.out.println("价格: " + price);
System.out.println("---");
}
} catch (DocumentException e) {
e.printStackTrace();
}
}
}
运行后会输出每个book的信息,包括id属性和各个子元素内容。
4. 常用API说明
-
reader.read(file):加载XML文件生成Document对象
-
document.getRootElement():获取根节点
-
element.elements("name"):获取指定名称的所有子元素
-
element.attributeValue("attr"):获取元素的属性值
-
element.elementText("child"):获取直接子元素的文本内容
这些方法覆盖了大多数基础解析需求,适合处理结构清晰的配置文件或数据交换格式。
基本上就这些。dom4j上手快,代码简洁,是Java处理XML的优选方案之一。熟悉基本用法后,可以进一步学习XPath支持、创建/修改XML、命名空间处理等高级功能。
以上就是Java dom4j库解析XML入门教程_Java dom4j库解析XML基础教程的详细内容,更多请关注php中文网其它相关文章!