XML 格式化

按 token 重排 XML 缩进,CDATA、注释与文本节点原样保留;支持压缩成单行、标签不闭合定位到行列,浏览器本地处理。

功能特性

CDATA、注释原样保留

扫描阶段就把 CDATA、注释、DOCTYPE、处理指令当成不可分割的整体,内部含 >、< 或换行也不会被切开或重排。

文本节点不会被改字

父元素只要含实义文本就整段按混合内容处理,<p>Hello <b>x</b> world</p> 保持一行,不会凭空塞进空白。

缩进 2 / 4 空格可选

按标签层级重排换行与缩进;空元素 <a></a> 与自闭合标签 <br/> 都留在同一行。

可压缩成单行

去掉标签之间的排版空白与换行并粘成一行,适合塞进配置项或做体积对比。

校验定位到行列

标签不闭合、属性引号缺失等直接给出「第 X 行第 Y 列」与原因,不会静默输出错结果。

本地处理

校验与重排都在浏览器里完成,XML 不会上传服务器。

使用步骤

01粘贴 XML

把待整理的 XML 贴到左侧,边输入边校验,出错即时提示行列。

02选处理方式与缩进

格式化(保留注释)或压缩成单行;格式化时可选 2 / 4 空格缩进。

03复制或下载

右侧实时给出结果,一键复制,或下载 .xml 文件。

适用场景

Maven / Spring 配置整理SOAP / WebService 报文排查RSS / Atom / sitemap 检查Android 布局文件格式化SVG 源码整理接口报文压缩与差异比对

常见问题

格式化会不会改坏我的 XML?

不会。工具先做 token 级扫描,把标签、注释、CDATA、DOCTYPE、处理指令与文本分开,再只调整标签之间的换行与缩进,CDATA 与文本节点里的字符一个都不动。这也是它和「按 > < 直接切行」的写法最大的区别:后者会把 CDATA 与闭合标签粘成一行、把 <pre> 里的空格改掉。

压缩成单行会丢掉什么?

只去掉标签之间的排版空白与换行。标签、属性、CDATA、文本内容全部保留;如果文档依赖元素之间那个空格表达语义(某些 XHTML 行内元素),压缩后这处空白会消失。格式化模式不会动这类单行空格,只有整行的排版空白才会被重排。

含文本的标签会被拆行吗?

不会。只要一个元素的直接子节点里出现实义文本,这个元素就按混合内容处理,内部不再插入换行 —— <p>Hello <b>x</b> world</p> 整行保留,避免渲染结果多出空格。

校验报错能定位到具体位置吗?

可以,提示形如「第 1 行 第 11 列:Expected closing tag ...」,直接指到出问题的标签。

数据会上传到服务器吗?

不会。校验与重排全部在浏览器本地完成,关闭页面数据即消失。

相关工具