XML 格式化工具
使用语法高亮和错误检测来格式化、验证和美化 XML 文档
XML 输入
格式化输出
检查器
高级选项
与另一个 XML 对比
将此文档发送到 Data Diff,粘贴第二个版本即可看到变化。
带精确错误位置的验证
每次按键都使用浏览器 XML 解析器进行验证。格式良好时实时显示元素、属性、文本节点和深度的计数;出错时报告确切的行号、列号、可能原因,并在编辑器中高亮出错位置 —— 而不只是一句“格式不良”。
本工具精确定位的常见 XML 错误
以下四类错误占了绝大多数无效 XML。每一类都会给出出错位置和可能原因:
标签不匹配
<person> 用 </perso> 关闭。解析器报告“开始与结束标签不匹配”并给出两个标签所在行;高亮会跳转到出错位置。
标签未闭合
缺少 > 或缺少结束标签。通常在确切位置报“expected >”或“数据在标签 X 中过早结束”。
属性重复
同一元素上出现两次相同属性名,如 <item id="1" id="2">。报“属性重定义”并指向第二次出现的位置。
无效实体 / 裸露的 &
文本中的字面 & 或 < 必须转义(&、<)。解析器会在确切字符处报“EntityRef: expecting ;”或“格式不良”。
之前 / 之后
左侧是压缩的 API 响应,右侧是用 2 空格缩进格式化的同一份文档。结构统计、树形视图和元素路径都基于解析后的文档更新。
<catalog><book id="1" category="fiction"><title>The Hobbit</title><author>J.R.R. Tolkien</author></book><book id="2" category="tech"><title>Refactoring</title><author>Martin Fowler</author></book></catalog>
<catalog>
<book id="1" category="fiction">
<title>The Hobbit</title>
<author>J.R.R. Tolkien</author>
</book>
<book id="2" category="tech">
<title>Refactoring</title>
<author>Martin Fowler</author>
</book>
</catalog>
XML 标准速查(W3C XML 1.0)
- 良构 ≠ 有效:良构指标签嵌套与闭合正确;有效进一步要求文档遵循 DTD 或 XSD 架构。
- 五个预定义实体:< > & " ' —— 文本中出现字面 < 或 & 一定是错误。
- 元素与属性名区分大小写,可带命名空间前缀(ns:tag)。
- 有且只有一个根元素;如存在 XML 声明(<?xml version="1.0" encoding="UTF-8"?>)必须位于最前。
- 注释 <!-- … --> 中不能包含 -- ,也不能嵌套。
这份数据的下一步
格式化只是第一步。无需离开浏览器即可继续工作流:
常见问题解答
关于 Xml Formatter 格式化的常见问题解答
格式化工具执行格式良好性检查和基本验证。它按照 W3C XML 1.0/1.1 规范检查标签嵌套、属性语法和 XML 声明的合规性。
可以,内置的 XPath 测试器允许您针对 XML 文档编写和执行 XPath 1.0 和 2.0 表达式,高亮显示匹配的元素并即时展示结果。
支持,格式化工具能正确处理带有命名空间的 XML 文档,在格式化元素和属性时保留命名空间声明和前缀。
可以,转换功能支持在 XML 和 JSON 之间互相转换,使用智能映射来保留元素结构、属性和数据类型。
XML 格式化工具支持最大 50MB 的文件,采用优化的解析算法,适用于大型配置文件、SOAP 消息和数据交换文档。
命名空间声明(xmlns、xmlns:prefix)在缩进时被当作普通属性处理,绝不会被重新排序或删除,因此命名空间 URI 始终绑定到相同的前缀。格式化过程绝不会解析或改写前缀——下游工具会按照 W3C Namespaces in XML 推荐标准来解析它们。
格式化只是重新缩进并规范化元素之间的空白。验证则检查结构:标签是否配对、是否只有一个根元素、属性引号是否正确,以及符合 W3C XML 1.0 规范的实体语法。格式化工具会报告格式良好性错误(畸形的输入无法重新缩进),但不会依据 DTD 或 XSD 架构进行验证。
会——CDATA 块的内部内容将原样保留(这正是其用途:转义那些原本需要实体编码的文本),注释除周围缩进外保持不变。XML 声明和处理指令(例如 <?xml version="1.0"?>)也会保持原样停留在文档顶部。