用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 指定缩进和换行:
本文档主要讲述的是Android的资源与国际化设置;资源是外部文件(不含代码的文件),它被代码使用并在编译时编入应用程序。Android支持不同类型的资源文件,包括XML,PNG以及JPEG文件XML文件根据描述的不同有不同格式。这份文档描述可以支持什么样的文件,语法,以及各种格式。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看
立即学习“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 就能清晰缩进、换行可读,不复杂但容易忽略。









