DOM4J是Java中操作XML的高效库,支持增删改查。首先通过Maven或Gradle引入依赖;使用SAXReader读取XML并解析节点信息;通过addElement添加新元素;修改现有元素内容后,需用XMLWriter将Document写回文件;删除节点时应使用Iterator.remove()避免异常,并格式化输出保存。所有操作均需重新写入文件以持久化结果。

使用DOM4J操作XML文件在Java开发中非常常见,尤其适用于需要解析、修改或生成XML结构的场景。DOM4J是一个开源的、易用且高性能的Java库,支持XPath、命名空间和灵活的树形结构操作。下面介绍如何使用DOM4J实现XML文件的增删改查(CRUD)操作。
如果你使用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'
使用SAXReader读取XML文件,获取Document对象后可遍历节点。
示例XML(students.xml):
立即学习“Java免费学习笔记(深入)”;
<?xml version="1.0" encoding="UTF-8"?>
<school>
  <student id="1">
    <name>张三</name>
    <age>20</age>
  </student>
  <student id="2">
    <name>李四</name>
    <age>22</age>
  </student>
</school>
Java代码读取并打印所有学生信息:
SAXReader reader = new SAXReader();
Document document = reader.read(new File("students.xml"));
Element root = document.getRootElement();
for (Iterator i = root.elementIterator("student"); i.hasNext();) {
  Element student = (Element) i.next();
  String id = student.attributeValue("id");
  String name = student.elementText("name");
  String age = student.elementText("age");
  System.out.println("ID: " + id + ", 姓名: " + name + ", 年龄: " + age);
}
在根元素下添加新的student节点:
Element newStudent = root.addElement("student");
newStudent.addAttribute("id", "3");
newStudent.addElement("name").setText("王五");
newStudent.addElement("age").setText("21");
// 保存到文件
XMLWriter writer = new XMLWriter(new FileWriter("students.xml"));
writer.write(document);
writer.close();
注意:每次修改后需重新写入文件才能持久化。
将id为"1"的学生年龄改为21:
for (Iterator i = root.elementIterator("student"); i.hasNext();) {
  Element student = (Element) i.next();
  if ("1".equals(student.attributeValue("id"))) {
    student.element("age").setText("21");
    break;
  }
}
// 保存修改
XMLWriter writer = new XMLWriter(new FileWriter("students.xml"));
writer.write(document);
writer.close();
删除id为"2"的学生节点:
for (Iterator i = root.elementIterator("student"); i.hasNext();) {
  Element student = (Element) i.next();
  if ("2".equals(student.attributeValue("id"))) {
    i.remove(); // 使用迭代器安全删除
    break;
  }
}
// 保存结果
OutputFormat format = OutputFormat.createPrettyPrint(); // 格式化输出
XMLWriter writer = new XMLWriter(new FileWriter("students.xml"), format);
writer.write(document);
writer.close();
基本上就这些。DOM4J的API设计直观,结合Iterator和Element方法能高效完成XML操作。关键点是修改后记得写回文件,并注意使用Iterator.remove()避免并发修改异常。
以上就是Java怎么使用DOM4J库操作XML_Java DOM4J库增删改查XML节点教程的详细内容,更多请关注php中文网其它相关文章!
 
                        
                        每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
 
                Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号