# XML 格式化

格式化、美化和压缩 XML，支持自定义缩进。保留注释和 CDATA

> 标准页面: https://elysiatools.com/zh/tools/xml-formatter

- **分类:** Format Conversion

- **关键词:** xml, 格式化, 美化, 压缩, 缩进, xml格式化工具

## 概述

XML 格式化工具是一款专为开发者和系统管理员设计的在线实用工具，支持对 XML 数据进行快速美化、格式化和压缩。该工具允许用户自定义缩进大小，并可选择保留注释和 CDATA 结构，帮助您轻松提升 XML 代码的可读性或优化传输体积。

## 输入项

- **XML 输入** (textarea): Enter your XML here...
- **缩进大小** (number): Enter indent size (0-8)
- **模式** (select)
- **保留注释** (checkbox)
- **折叠空白** (checkbox)

## 适用场景

- 当收到排版混乱、缺乏缩进或被压缩成单行的 XML 配置文件，需要恢复其可读性时。
- 在将 XML 数据部署到生产环境前，需要去除多余空格和换行以压缩文件体积时。
- 在调试 Web 服务（如 SOAP API）或解析 XML 报文时，需要快速理清嵌套的节点结构。

## 工作原理

- 在输入框中粘贴或输入需要处理的原始 XML 文本。
- 根据需求选择“美化”或“压缩”模式，并设置缩进大小、是否保留注释及折叠空白等参数。
- 工具将实时解析并重新构建 XML 树状结构，输出格式化或压缩后的 XML 文本。

## 使用案例

- 格式化 Web Service 接口返回的紧凑型 XML 响应数据，便于开发人员排查接口字段。
- 压缩 Android 项目中的 AndroidManifest.xml 或布局文件，减小最终构建包的体积。
- 美化 Maven 项目的 pom.xml 依赖配置文件，使其层级分明、易于团队协作维护。

## 常见问题

### 这个工具会破坏 XML 中的 CDATA 区块吗？

不会，格式化程序会完整保留 CDATA 区块内的原始文本和结构。

### 压缩模式（minify）会删除 XML 中的注释吗？

这取决于您的设置。如果您取消勾选“保留注释”选项，压缩时会自动移除所有 XML 注释。

### 支持的最大缩进大小是多少？

工具支持 0 到 8 个空格的自定义缩进大小。

### 格式化时会检查 XML 的语法错误吗？

是的，如果输入的 XML 存在标签未闭合等语法错误，工具会提示解析失败。

### “折叠空白”选项有什么作用？

开启该选项后，工具会合并节点之间多余的空格和换行，使格式化后的排版更加整洁。

## 相关工具

- [XMP元数据提取器](https://elysiatools.com/zh/tools/image-xmp): 从图像中提取和查看XMP元数据，包括Adobe Photoshop、Lightroom和Creative Cloud信息
- [JSON格式化](https://elysiatools.com/zh/tools/json-formatter): 格式化和验证JSON数据
- [TOML 格式化](https://elysiatools.com/zh/tools/toml-formatter): 格式化和美化 TOML。注意：注释会丢失，键顺序可能改变（@iarna/toml 限制）
- [YAML 格式化](https://elysiatools.com/zh/tools/yaml-formatter): 格式化和美化 YAML。注意：注释会丢失（js-yaml 限制）
- [CSV转XML转换器](https://elysiatools.com/zh/tools/csv-to-xml): 将CSV数据转换为XML格式，支持自定义格式化选项
- [JSON转XML转换器](https://elysiatools.com/zh/tools/json-to-xml): 将JSON数据转换为XML格式，支持自定义格式化选项
- [文本转XML转换器](https://elysiatools.com/zh/tools/text-to-xml): 将各种文本格式转换为XML，支持自定义结构和格式化选项
- [CSS 格式化器](https://elysiatools.com/zh/tools/css-beautifier): 将压缩或杂乱的 CSS 代码格式化为可读、缩进良好的样式表

## 示例

- [Nginx 日志解析示例](https://elysiatools.com/zh/samples/nginx-log-samples): 用于测试 log-parser 工具的综合 Nginx 日志样本，包括访问日志和错误日志的各种格式和场景
- [大小写转换样本](https://elysiatools.com/zh/samples/text-case-formats): 不同命名约定之间的大小写转换测试样本
- [Android Java 序列化示例](https://elysiatools.com/zh/samples/android-serialization-java): Android Java 序列化示例，包括JSON序列化、反序列化和XML解析
- [Android Kotlin 序列化示例](https://elysiatools.com/zh/samples/android-serialization-kotlin): Android Kotlin 序列化示例，包括JSON序列化、反序列化和XML解析

## 相关内容

- [XML 转换、映射与 XPath 工具](https://elysiatools.com/zh/hubs/xml-convert): 围绕XML 转换、映射、合并与 XPath 提取整理的一组工具。
- [文本脱敏、高亮与展示格式化工具](https://elysiatools.com/zh/hubs/text-format): 在一个专题中比较文本脱敏、PII 检测、电话号码规范化、重点高亮、居中排版和 diff 格式化工具。
- [JSON 格式化、对比与规范化工具](https://elysiatools.com/zh/hubs/json-format): 在一个专题中比较 JSON 格式化、差异对比、日志审查、配置比较和数据规范化工具，适合需要让 JSON 更易读、更易审查的流程。
