XML 格式化
在线格式化、压缩与校验 XML 数据,基于浏览器原生解析器,语法错误提示清晰。
使用说明
- 把 XML 内容粘贴到输入框,或点击「示例」载入演示数据。
- 点击「格式化」生成两空格缩进的易读版本,点击「压缩」移除标签间空白。
- 若 XML 存在语法错误(标签未闭合等),会给出错误提示,修正后重新操作即可。
- 结果可直接点击右上角「复制」按钮取用。
常见问题
支持带命名空间的 XML 吗?
注释与处理指令会保留吗?
数据会上传吗?
使用步骤
- 粘贴或载入示例数据
把 XML 粘进输入框即可开始。手头没有数据时点「示例」载入演示内容,先熟悉缩进效果再处理自己的文件。
- 点击格式化整理缩进
按「格式化」得到两空格缩进、标签逐行对齐的版本,注释、CDATA 与命名空间声明都会原样保留。
- 按需压缩减小体积
要把文档变成单行传输时点「压缩」按钮,仅去除标签之间的纯空白,文本内容本身不受任何影响。
- 按报错修正语法问题
若存在未闭合标签等语法错误,下方红色提示会说明问题所在,修改输入后重新点击格式化即可。
- 复制结果投入使用
点输出区右上角「复制」按钮拿到整理好的 XML,粘贴回配置文件、接口文档或测试夹具。
工具详细介绍
XML 广泛用于接口返回、RSS 订阅、构建配置与站点地图,机器拼接的源码常挤成一行、缩进混乱难以阅读。本工具调用浏览器原生 XML 解析器完成解析与序列化。格式化按层级加两空格缩进,压缩只删除标签间空白,注释与处理指令均会保留。
适合排查接口报文中标签是否闭合,或在团队评审前统一缩进风格。把臃肿的配置文件压成单行再传输也用得上。阅读 Android 布局或 Maven pom 时,还能快速理清层级。解析先于输出进行,文档格式错误会给出具体说明,相当于自带一次轻量校验。
原理与背景
XML 1.0 由 W3C 于 1998 年定稿,规范把「合格」分成两层。格式正确只要求单根元素、标签闭合、属性加引号这类结构规则;有效则要再通过 DTD 或 XSD 校验,前者是后者的前提。浏览器内建的 DOM 解析器只检查前者,元素该出现几次这类语义约束它并不关心。文本节点里的 < 与 & 必须写成 < 与 &。大段原样内容则包进 CDATA 段,免除逐字转义。本工具的格式化与压缩都不改动这些语法结构。
格式化做的是解析后重新序列化:解析器把文档读成 DOM 树,序列化器再按层级输出。属性引号风格、空标签写法这类细节会被规范化,信息不变而字节不同。空白是否承载语义由 xml:space 属性决定,默认模式下标签之间的缩进只是排版噪音。确有逐字保留空格需求的内容,标准做法是在元素上声明 xml:space="preserve"。一行式的 RSS、站点地图与 pom 配置,经这两步就能在给人读与给机器传之间切换。
典型使用场景
- RSS 与站点地图做体检
订阅源与站点地图常由程序批量生成,一个未闭合标签就让整个源失效。格式化一遍并按报错定位,比等用户反馈「抓不到文章」再查快得多。
- 整理导出的测试夹具
从抓包工具或测试平台导出的 XML 缩进五花八门,统一格式化一遍再存进版本库。后续用例的 diff 就只反映数据变化,而不是排版抖动。
- 并排核对两份等价配置
两份应当等价的配置总是对不上时,先各自格式化成相同缩进,再并排对照查看。缺失的节点、多余的层级与属性差异一眼可见,不用逐行眯眼找。
使用技巧
- xmlns 命名空间声明与前缀标签原样保留,带命名空间的文档可直接格式化。
- 先点「示例」看一遍标准输出,再对照自己的数据排查结构差异。
- 压缩只删除标签之间的空白,文本节点内部的空格不会被改动。
注意事项
- 报错只指出第一个问题
DOM 解析遇到第一个错误就停下,未闭合标签修好之后可能紧接着暴露下一处。按提示逐个修复直到通过,不要以为全文档只有一处错。
- 根元素只能有一个
XML 要求全部内容都挂在一个根元素之下,粘贴多个并列节点会被直接判为格式错误。在外面套一层容器标签再处理,结构立即恢复合法。
- 压缩救不了冗长的正文
压缩只处理标签之间的空白,元素内部的长文本一字不动。指望压缩大幅减小体积多半会失望,真正有效的办法是精简节点与属性的数量。