编码解码哈希加密格式化时间转换开发生成文本处理网络工具其他工具
首页 / 格式化 / XML格式化

XML格式化

把 XML 排版成带缩进格式。

输入
结果

这个工具能做什么

XML 格式化解决的是一个很具体的问题:接口返回、配置文件或日志里的 XML 常常被压成一整行,或者缩进乱七八糟,标签一层套一层却看不出层级关系,人眼很难快速定位某个节点在哪、有没有闭合、属性写在了哪个元素上。把这段紧凑或错乱的 XML 粘进来,点一下格式化,工具会按标签的嵌套深度重新排版,每下一层加一级缩进,父子、兄弟节点一目了然,方便你阅读、核对结构和排查问题。它只做排版,不改动数据本身,标签名、属性、文本内容、CDATA 都原样保留。

它的工作方式不是简单地按尖括号做字符串替换,而是先把输入按 XML 语法解析成一棵文档树(DOM),识别出元素节点、属性、文本节点、注释和 CDATA 段,再从根节点递归地序列化输出,每深入一层就追加一级缩进(通常是两个或四个空格)。因为走的是真正的解析,格式化过程也顺带做了一次结构校验:标签没闭合、尖括号不匹配、属性引号缺失这类问题会导致解析失败并报错,等于帮你顺手验证了这段 XML 是否合法(well-formed)。整个解析和排版都在浏览器本地用 JavaScript 完成,内容不会上传到服务器。需要注意的是,元素内部原有的文本空白在美化时可能被规整,所以它更适合数据型 XML,而非对空白敏感的场景。

最常见的用法是调试 SOAP 或老式 XML 接口:抓包工具里拿到的响应往往是压成一行的,直接看根本分不清 <soap:Envelope> 下面 Body、Header 各自包了什么,格式化之后层级摊开,哪个字段值不对、哪个节点漏了立刻能看出来。另一个典型场景是维护配置文件,比如 Maven 的 pom.xml、Spring 的 XML 配置或 Android 的 AndroidManifest.xml,同事提交时缩进被 IDE 打乱,先格式化统一成规范缩进再对比 diff,能大幅减少无意义的空白差异。核对第三方推送的 XML 报文(如支付回调、电子发票)时也一样,排好版再逐节点对照文档字段。

使用时有几个边界情况值得留意:格式化只保证输出是合法、易读的 XML,并不校验它是否符合某个 XSD/DTD 的业务约束,也不会校验命名空间前缀是否声明。带 xmlns 命名空间的文档、含 CDATA 的节点、自闭合标签(如 <br/>)都能正常处理并保持原义。要区分它和 XML 压缩、XML 转 JSON 是不同工具——本工具只加缩进美化,不删空白也不做格式转换。如果粘进来的其实是 HTML 片段,因为 HTML 允许未闭合标签,可能会解析报错,这类内容需要用 HTML 相关工具处理。

XML格式化是一个免费的在线工具,打开网页就能用,不用下载也不用注册。平时大家搜的“xml格式化”、“xml美化”、“xml在线格式化”,说的都是这个。

常见使用场景

使用方法

  1. 把内容粘贴到输入框(生成类工具直接设置选项)。
  2. 按需要选择选项,点操作按钮。
  3. 结果出现在下方,点「复制结果」即可带走。

常见问题

格式化会改变 XML 的数据内容吗?
不会。工具只调整缩进和换行等排版,标签名、属性值、文本内容、CDATA 段都原样保留,格式化前后的数据语义完全一致。
为什么粘进去点格式化会报错?
多半是这段 XML 不是良构的,比如标签没闭合、尖括号或引号不匹配、有多个根元素。工具走真实解析,遇到语法错误无法建树就会报错,可据此定位问题位置。
它能处理带命名空间(xmlns)的 XML 吗?
可以。带命名空间前缀的元素和属性会被当作普通标签正常解析和缩进,前缀原样保留,但工具不校验该前缀是否已正确声明。
格式化和 XML 压缩、XML 转 JSON 有什么区别?
格式化是加缩进让 XML 变易读,压缩是去掉多余空白让体积变小,转 JSON 则是改变数据格式。本工具只做美化排版这一件事,不做压缩和格式转换。
数据会不会被上传或留存?
不会。解析和排版全部在你的浏览器本地用 JavaScript 完成,XML 内容不发往服务器,适合处理包含敏感字段的报文。

相关工具

查看全部「格式化」工具 →

相关名词解释