SOAP / API 调试
把网络日志中原始的 SOAP 响应粘贴进来、格式化,真正的 fault 就会在 envelope 中清楚显现。错误的行 + 列让你几秒钟就能定位到拼错的命名空间前缀,或文本中未 escape 的 &。
美化、压缩、验证任意 XML — REST 响应、SOAP envelope、RSS feed、sitemap、Maven、AndroidManifest 全部支持。语法高亮输出、行 + 列错误报告。完全在浏览器中运算。
Well-formed(格式正确) 是基本的结构规则:标签必须正确嵌套并关闭、属性必须加引号、必须有单一的根元素、特殊字符必须 escape(<、& 等)。本工具用浏览器原生 DOMParser 检查 well-formed。
Validity(有效性) 是更严格的、对 schema(DTD、XSD、RelaxNG)的检查 — 「文档符合这套语法」。浏览器 DOMParser 不做 schema 验证;XSD 验证需要服务器端工具,例如 xmllint --schema。
会。CDATA 区段(<![CDATA[…]]>)里的内容会原样保留 — 特殊字符不会被重新 escape。注释(<!-- … -->)和 processing instruction(<?xml-stylesheet … ?>)会放回原本的位置。XML declaration 与 doctype 行会作为前几行保留。
SOAP envelope、RSS feed、sitemap、Maven `pom.xml`、AndroidManifest — 格式化、压缩、验证都正确处理。
可选 2 空格、4 空格、或 Tab 缩进。Self-closing 标签保持自闭合。CDATA 区段、注释、processing instruction、XML declaration 在 round-trip 后完整保留。
去除元素之间无意义的空白,把整份文档压成单行。适合把 XML 嵌入 JSON 字符串字段,或在窄带网络上传输。
用浏览器原生 DOMParser 检查 well-formed。出错时会显示出错的行 + 列,可以直接跳到问题位置。
标签名、属性、属性值、文本内容、注释、CDATA、processing instruction 全部以颜色区分,结构一眼看清楚。
所有数据都留在浏览器中。解析、格式化、验证、下载都以 JavaScript 在你的设备上执行。打开 DevTools → Network 可验证没有任何对外请求。
纯 JavaScript,无框架运行时。冷启动 gzip 后不到 25 KB。格式化 200 KB 的 XML 文档并重新渲染语法高亮,80 毫秒内完成。
从杂乱的 XML 到干净、可验证的输出,只需四步。
拖入或粘贴任意 XML — REST API 响应、SOAP envelope、RSS / Atom feed、sitemap、配置文件。输入时会自动格式化(防抖 350 毫秒)。
2 空格是现代默认值(符合 Prettier 与多数风格指南)。4 空格是较旧的惯例(Java.NET)。Tab 对应你编辑器的 tab 宽度 — 适合后续手动编辑的文档。
验证 会报告 well-formed 错误并标出行 + 列。压缩 把整份文档压成单行 — 适合把 XML 嵌入 JSON 字符串、数据库字段、或 shell 变量。
点击复制图标把整理后的 XML 送进剪贴板,或下载为 formatted.xml。输出会保留 CDATA、注释、processing instruction、XML declaration。
四种常见 XML 工作场景 — 在这些情况下,浏览器内的格式化器比打开 IDE 快得多。
把网络日志中原始的 SOAP 响应粘贴进来、格式化,真正的 fault 就会在 envelope 中清楚显现。错误的行 + 列让你几秒钟就能定位到拼错的命名空间前缀,或文本中未 escape 的 &。
粘贴你手写的 `sitemap.xml` 或 RSS feed,在提交到 Search Console / 聚合器之前先验证 well-formed。也可以压成单行,嵌入到自动化脚本中。
Maven pom.xml、Spring beans、NHibernate mappings、Android AndroidManifest.xml — 手动编辑后重新格式化都很方便。提交前先验证一次,可以提前发现那些等到 build 时才会报错的拼写错误。
.docx、.xlsx、.pptx、.epub 都是包含 XML 的 ZIP 文件。把内部 XML 解压出来、粘贴到这里格式化,结构清楚之后再压回 ZIP。
XML 内容永远不会离开你的设备。打开 DevTools → Network,在格式化、验证、复制、下载过程中你会看到完全没有任何对外请求。
DOMParser;格式化与压缩只是简单的 JavaScript 遍历所生成的 DOM 树。
为 XML、SOAP 调试、配置文件工作流精选的实用文章。
Where XML still beats JSON (SOAP, RSS, Office docs, EPUB, sitemaps, configs) and where JSON wins. Worked examples and migration patterns.
Reading XML namespace prefixes, finding the actual fault inside a SOAP envelope, and using a browser-based formatter to spot the issue without firing up SoapUI.
Well-formed(格式正确) 是基本的结构规则:标签必须正确嵌套并关闭、属性必须加引号、必须有单一的根元素、特殊字符必须 escape(<、& 等)。本工具用浏览器原生 DOMParser 检查 well-formed。
Validity(有效性) 是更严格的、对 schema(DTD、XSD、RelaxNG)的检查 — 「文档符合这套语法」。浏览器 DOMParser 不做 schema 验证;XSD 验证需要服务器端工具,例如 xmllint --schema。
会。CDATA 区段(<![CDATA[…]]>)里的内容会原样保留 — 特殊字符不会被重新 escape。注释(<!-- … -->)和 processing instruction(<?xml-stylesheet … ?>)会放回原本的位置。XML declaration 与 doctype 行会作为前几行保留。
可以,只要是 well-formed XML 都能用 — SOAP envelope(含 soap:Envelope、soap:Body 命名空间前缀)、RSS / Atom feed、sitemap、SVG、plist、Maven pom.xml、Spring 配置、EPUB container.xml、Android AndroidManifest.xml。namespace 前缀会被保留 — 我们不会去除 xmlns: 属性。
最常见的原因:(1)文本或属性值中未 escape 的 & — 必须写成 &;(2)两个根元素(XML 只允许一个);(3)开闭标签大小写不一致(例如 <Item>…</item> — XML 区分大小写);(4)属性值没加引号;(5)文本内容里有未配对的 <。错误信息中的行 + 列会指向出错的位置。
不会。解析、格式化、压缩、验证、语法高亮、下载都在你的浏览器中以 JavaScript 执行。打开 DevTools → Network 可验证使用过程中没有任何对外请求。我们只用一个 cookie 记录 cookie 同意状态,以及一个 cookie 记录语言偏好,仅此而已。