XML Formatter

One input per line. Output is numbered to match the input order.
Pinned tools are listed in your favourites on the home page.Copies a link to this tool that carries your current input, so it opens ready to run.Gives you an iframe snippet for putting this tool on your own site.
Ctrl+Enter Run  · Ctrl+Shift+C Copy  · Esc Clear

Understand XML Formatter

这个格式化工具按嵌套深度缩进 XML,也能把它折回单行,并报告文档第一处不满足格式良好的位置。

How it works

文档交由浏览器自带的 XML 解析器处理,因此这里的格式良好性检查与浏览器所用的是同一套:有且只有一个根元素、每个标签都闭合、每个属性都加引号,而裸的 & 会被拒绝,因为它开启了一个实体引用。若解析器报错,工具会把它呈现出来;否则文档会被重新序列化,并按一行一个标签重新缩进。

When to use it

  • 阅读从链路上抓取到的 SOAP 请求或响应。
  • 理清层层嵌套的 pom.xml、Android 布局文件或 RSS 订阅源。
  • 在被解析器拒绝的文档中找出哪个标签没有闭合。
  • 把 XML 压缩后放进测试夹具或某个头字段的值里。

Watch out for

  • 格式良好不等于有效。这里只检查语法,不会用 DTD 或 XSD 校验文档,因此结构完美的文件仍可能被期待某个模式的服务拒绝。
  • 重新缩进时会丢弃元素之间的空白。在混合内容中——同一节点内既有文本又有元素,比如一个段落里包含一段加粗文字——那些空白是要渲染出来的内容,因此重新格式化承载文本的 XML 可能改变它的含义。标注了 xml:space="preserve" 的内容同理。
  • HTML 不是 XML。像 <br> 和 <img> 这样的未闭合标签、以及不加引号的属性,在 HTML 里合法,在这里是错误。
  • XML 区分大小写,因此 <Item> 和 <item> 是不同的元素——这是从 HTML 转过来的人常遇到的意外。

Not the right tool for: 格式化 HTML。请使用 HTML 格式化工具,它了解空元素和行内元素。

Frequently Asked Questions

如何修复 XML 中的 unexpected token 错误?

常见的 XML 错误:未闭合的标签(<br> 必须写成 <br/>)、属性没加引号(id=foo 必须写成 id="foo")、本该写成 &amp; 的 &,以及多个根元素。格式化工具会准确指出是哪一行、哪一个字符导致了错误。

格式良好的 XML 和有效的 XML 有什么区别?

格式良好的 XML 遵守语法规则(正确嵌套、单一根元素、属性加引号)。有效的 XML 还要符合 DTD 或 XSD 模式。本工具检查的是格式是否良好——它不针对模式做校验。

可以用它格式化 RSS 或 Atom 订阅源吗?

可以。RSS 和 Atom 都是 XML 格式,能够正确解析和格式化。这对调试订阅源阅读器或检查有问题的订阅内容很有用。

How to Use XML Formatter

  1. Paste or type your input in the input area above.
  2. The tool processes your input automatically or click Run.
  3. Copy or download the result using the action buttons.
  4. Use Ctrl+Enter to run quickly from the keyboard.