跳到主要内容
← 返回

XML 格式化工具 - 在线美化与压缩

代码
本地运行 · 不上传

在线 XML 格式化与压缩:美化缩进或压成单行,语法错误精确定位提示。支持属性保留、特殊字符转义,浏览器本地处理不外传。

结果有帮助吗?

本地工具可在 DevTools → Network 搜索输入内容,通常不会出现在请求中。

使用指南

XML 常出现在配置文件(Maven/Spring/Android 布局)、SOAP 接口与各类企业系统里,而它最常被抱怨的就是「挤成一团没法读」。本工具按层级缩进格式化 XML,也可反向压缩成单行,本地用 DOM 解析处理,文件内容不出浏览器。

1. 格式化与压缩

  1. 粘贴 XML(压成一行的或缩进混乱的都行)。
  2. 点「格式化」得到按层级缩进的可读版本;点「压缩」得到去除空白的最小形式。
  3. 语法错误(未闭合标签、非法字符)会具体提示;先修语法再谈排版。

2. XML 特有的格式化边界

  • 空白是内容:元素内的文本节点缩进后会带上空格——对 XHTML、混合内容文档,格式化可能改变渲染与语义,转换后要验证。
  • CDATA 块内的内容原样保留:格式化不会动 CDATA 里的「看似 XML」的文本。
  • 命名空间前缀(xmlns)是语义的一部分:格式化只调缩进不改前缀,改前缀会破坏文档有效性。

3. 和 JSON 世界的互操作

现代系统里 XML 多存在于遗留边界。若下游只吃 JSON,先格式化检查结构,再用 XML→JSON 转换(本站工具)——注意属性(attribute)与子元素在 JSON 里通常合并或加前缀区分,转换规则要和下游确认。本页只负责可读性与压缩,不做 schema / XSD 校验。

4. 格式化解决不了的三类问题

  • 编码声明与真实字节不一致(声明 UTF-8、文件却是 GBK)会导致「看起来像乱码的合法标签」——先确认来源编码。
  • 外部实体(DTD ENTITY)与 XXE 风险属于解析器安全策略,浏览器 DOM 解析对外部实体本来就很克制;不要把不可信 XML 丢进任意服务端解析器。
  • 「能 parse」不等于「业务有效」:缺必填元素、错误枚举值要靠 XSD/业务校验,不是靠缩进。

5. 和 HTML 格式化的差别

HTML 容错、可隐式补全;XML 严格:标签必须闭合、大小写敏感、属性必须引号。把 HTML 片段当 XML 粘进来经常直接失败——那是语法模型不同,不是本工具「坏了」。Android 布局、pom.xml、SOAP Envelope 才是本页的主场;网页片段请用 HTML 格式化工具。

6. 团队协作里的用法

提交前格式化,能让 diff 集中在真实节点变更而不是缩进拉扯;但混合内容(标签夹文本)场景要谨慎,避免「纯排版提交」改动了文本节点空白。约定「配置类 XML 统一缩进宽度、禁止提交压缩单行」比争论个人习惯便宜。压缩模式适合嵌入传输或日志单行化,不适合做人读审查。收到上游「一整行 XML」时,先格式化再排障,比在压缩串里数尖括号节省大量时间;修完若下游要求单行,再压缩一次即可。属性很多的节点格式化后会变长,这是可读性的正常代价——不要为了「看起来短」去改属性顺序或删命名空间。

7. 美化与缩进验收

粘贴整段 XML 后选择缩进宽度,输出应保持元素层级与属性可读。不合法结构会提示而非静默吞掉。本页在本地排版,不发起网络请求;含密钥的配置片段注意清剪贴板。需要 JSON 互转时用相邻 XML/JSON 工具,先保证 XML 本身可解析。

常见问题

语法完全不同:XML 是标签树(属性、命名空间),JSON 是数据结构。本工具按 XML 语义缩进,保留属性顺序与特殊字符转义(& < > ")。

能。浏览器 DOMParser 解析 xmlns,格式化输出保持标签前缀不变——前缀是语义的一部分,改前缀会破坏文档有效性。

主要改空白布局:缩进、换行。属性顺序、文本内容、转义尽量保留;混合内容文档里,缩进可能改变文本节点空白——转换后要验证。CDATA 块内的内容会原样保留,不会被重排。压缩模式移除可压缩空白。

不建议。HTML 容错、可隐式补全;XML 严格:标签必须闭合、大小写敏感、属性必须引号。网页片段请用 HTML 格式化;Android 布局、pom.xml、SOAP 才是本页主场。

不做。本页只管可读性与压缩;「能 parse」不等于「业务有效」——缺必填元素、错误枚举值要靠 XSD/业务校验流程,不是缩进能解决的。

排版与解析都在本地用 DOM 完成,不发起网络请求,文件内容不出浏览器。但配置类 XML 常带账号密码:分享或贴单前先脱敏,处理完记得清理剪贴板里的残留。

相关工具

相关文章