使用方法
- 将 XML 粘贴到输入框中,从设备打开 .xml 文件,或尝试示例。
- 选择“格式化”以缩进文档,或选择“压缩”以删除标签之间的空白。
- 选择 2 个空格、4 个空格或制表符进行缩进,并决定是否保留注释。
- 如果 XML 格式不正确,请根据报告的行和列修复问题。否则复制或下载结果。
工作原理
格式化器使用自己的解析器读取 XML,可以识别元素、使用单引号或双引号括起的属性、注释、CDATA 部分、处理指令(例如 <?xml?> 声明)以及 DOCTYPE 声明(包括内部子集)。它会检查 XML 的良构性规则:每个打开的元素必须按正确顺序关闭;必须恰好有一个根元素;属性名不能重复;属性值中不能包含 < 字符;每个 & 字符都必须作为实体引用的开头。
格式化时,每个元素、注释和 CDATA 部分各占一行。仅包含文本的元素保持在一行内,例如 <title>Midnight Rain</title>。文本节点首尾的空格会被去掉,标签之间只包含空白字符的文本会被丢弃。如果文档中某些部分的空白很重要,请用 xml:space="preserve" 标记该元素,该元素会按原样复制。
压缩会删除标签之间只包含空白字符的文本;如果取消勾选“保留注释”,还会删除注释。文本内容和 CDATA 不会被更改。实体引用(例如 &)会保持原样,绝不会被展开。
这是一项良构性检查,而不是针对 DTD 或 XML Schema 的验证:它不知道特定格式允许哪些元素。xs:element 等带命名空间的名称会被视为普通名称。
示例
阅读单行 API 响应
SOAP 或 RSS 响应以一行 4,000 个字符的形式返回。使用 2 空格缩进格式化后,可以清楚地看到 envelope、body 和 items 的嵌套结构,从而找到所需字段。
在 sitemap 中查找损坏的标签
sitemap.xml 在 Search Console 中加载失败。粘贴后会显示“第 214 行,第 5 列:结束标签 </urlset> 与开始标签 <url> 不匹配”,从而指向缺少 </url> 的条目。
压缩 SVG 或配置文件
在将 SVG 图标嵌入页面前,取消勾选“保留注释”进行压缩,可去除缩进和编辑器注释。
常见问题
它会根据架构(XSD)或 DTD 进行验证吗?
不会。它检查文档是否良构:正确的嵌套、只有一个根元素、带引号的属性、没有重复的属性名以及有效的实体引用。它不会检查元素是否被某个特定架构允许。
格式化会改变我的数据吗?
格式化会删除标签之间的空白,并修剪文本节点开头和结尾的空格。对于大多数数据格式,这些空白没有意义。若有意义,请向元素添加 xml:space="preserve",其内容将原样保留。压缩会原样保留文本内容。
我可以用此工具格式化 HTML 吗?
仅在 XHTML 中会。普通 HTML 允许 <br> 等没有闭合斜杠的标签,而 XML 不允许。请使用 HTML 格式化工具处理常规 HTML。
有大小限制吗?
没有固定限制,但非常大的文件(几十 MB)会在设备内存中处理,可能导致页面变慢。使用“打开文件”打开的文件最大为 20 MB。
隐私
您的 XML 仅在浏览器中解析和格式化。不会上传、存储或用于分析。