用DOM4J写XML到文件并格式化需两步:先构建Document对象,再用OutputFormat设置缩进换行后通过XMLWriter输出;关键在调用OutputFormat.createPrettyPrint()并指定UTF-8编码。

用 DOM4J 写 XML 到文件并格式化,关键在于两步:构建 Document 对象,再用 OutputFormat 控制缩进与换行,最后用 XMLWriter 输出。
1. 添加依赖(Maven)
确保项目已引入 DOM4J(推荐 2.1.4+,对 Java 8+ 更友好):
2. 创建 Document 并添加内容
先新建 Document 和根元素,再逐层添加子元素和文本:
- 用
DocumentHelper.createDocument()创建空文档 - 用
addElement("root")添加根节点 - 链式调用
addElement("child").addText("value")快速写内容
3. 设置格式化输出(重点)
不设置格式,生成的 XML 会是“一行到底”。必须用 OutputFormat 指定缩进和换行:
当用户要求为 Java 代码添加注释、修改注释、审查注释、整理注释格式,或要求按照代码注释规范处理 Java 文件时,使用本技能。本技能用于统一生成和维护 Java 类注释模板、按 Git 对比 release 判断版本号、补充每行代码上方中文块注释、调整注释空行规则,并保持 Java 文件 UTF-8 无 BOM 编码。典型触发场景包括:补充类注释、更新 @version、检查 @author 来源、整理行尾注释、把注释放到代码上一行、检查注释是否符合规范、构建前检查 Java 注释风格。
立即学习“Java免费学习笔记(深入)”;
-
OutputFormat.createPrettyPrint()是最常用方式,自动启用缩进、换行、空格 - 可选设置:
format.setIndentSize(2)控制每级缩进空格数 - 可选设置:
format.setNewlines(true)和format.setTrimText(false)保持可读性
4. 写入文件(带异常处理)
用 XMLWriter 将格式化后的 Document 写入 FileOutputStream:
- 务必指定字符集(如 UTF-8),避免中文乱码:
new OutputStreamWriter(out, "UTF-8") - 记得
writer.close(),否则内容可能未刷出 - 建议用 try-with-resources 自动关闭流(DOM4J 2.1+ 支持
XMLWriter实现AutoCloseable)
基本上就这些。只要 OutputFormat 配对了,XML 就能清晰缩进、换行可读,不复杂但容易忽略。

















