开发者工具·7 分钟

如何格式化 XML 文档:开发者指南

学习如何格式化和验证 XML 文档以提高可读性。附赠免费浏览器内 XML 格式化器。

为什么要格式化 XML 文档?

XML(可扩展标记语言)是一种结构化数据格式,用于 SOAP API、配置文件、文档格式(DOCX、XHTML、EPUB)以及无数企业集成。和 SQL 一样,XML 对空白宽容,但未格式化的 XML 是一堵标签墙,难以阅读、编辑和调试。

格式良好的 XML 文档使用一致的缩进、清晰的换行和显式的闭合标签。结构一目了然,便于查找特定元素和验证属性。XML 格式化器在毫秒内为你完成这些工作。

常见使用场景

  • API 调试:阅读 SOAP 或 XML-RPC 响应
  • 配置文件:审查服务器、构建和框架配置
  • 文档检查:查看 .docx、.xlsx、.svg、.epub 文件
  • 数据转换:在转换为 JSON 或 CSV 之前理解 XML
  • 代码审查:在 PR 中分享可读的 XML 片段

方法 1:使用 UtilBoxx 免费 XML 格式化器(推荐)

我们的 XML 格式化器 验证、美化和压缩 XML,并提供分屏预览。步骤如下:

  1. 访问 utilboxx.com/zh/tools/dev/xml
  2. 把 XML 粘贴到输入面板
  3. 立即看到带行号的格式化输出
  4. 在美化和压缩之间切换
  5. 一键复制结果

这个方法的优势

  • 基于 XML 模式实时校验
  • 可配置缩进(2 空格、4 空格、Tab)
  • 美化和压缩之间切换
  • 高亮显示带行号的语法错误
  • 完全在浏览器中运行,数据不上传

方法 2:使用命令行 xmllint

`xmllint` 是标准 XML 工具,在 Linux、macOS 和 Windows(带 Git Bash 或 WSL)上可用:

```bash # 用 2 空格缩进美化 xmllint --format input.xml

# 按 XSD 模式验证 xmllint --schema schema.xsd input.xml

# 压缩(不含额外空白) xmllint --noblanks input.xml ```

这是最常见的 XML 处理命令行方式。

方法 3:使用编辑器扩展

大多数代码编辑器内置或通过扩展支持 XML 格式化:

  • VS Code:右键 → "格式化文档",适用于任何 XML 文件
  • Sublime Text:使用 "Indent XML" 包
  • IntelliJ / WebStorm:内置格式化器,支持 XSD 感知校验
  • Notepad++:使用 XML Tools 插件

如果已经在编辑器中,这是最快的方式。

常见问题

格式化会改变 XML 的含义吗?

不会。XML 默认将元素之间的空白视为不重要。同一份 XML 无论压缩还是美化,结果都一样。在文本内容中(例如 `<p>Hello world</p>`),空白是有意义的。

如何验证 XML?

验证器会检查文档格式是否正确(标签匹配、转义正确),并可选择根据 XSD 或 DTD 进行验证。UtilBoxx XML 格式化器会自动校验格式正确性,并用行号报告错误。

XML 和 HTML 格式化的区别是什么?

HTML 有一套固定的标签和隐式语义;XML 是用户自定义标签。HTML 格式化器可以省略可选的闭合标签,并使用 `<br>` 这样的自闭合元素;XML 格式化器必须显式闭合每个标签,不能有自闭合元素。

可以格式化非常大的 XML 文件吗?

可以,但浏览器内工具在处理几兆字节以上的文件时可能会变慢。对于超大的文档,`xmllint` 等命令行工具或 Python(`lxml`)等流式解析器可以高效处理 GB 级别的文件。

结论

格式化你的 XML——它对可读性和可调试性影响很大。想要一个浏览器内、快速、含校验的格式化器,把 UtilBoxx XML 格式化器 一直开着是最简单的方式。