XML 格式化工具 - 在线美化、压缩和校验 XML

在线格式化、压缩和校验 XML 文档,适合整理 SOAP 响应、RSS Feed、Sitemap、配置文件和接口调试数据。

功能特点

  • 格式化 XML 缩进和层级结构,提升复杂节点的可读性
  • 压缩 XML 内容,便于嵌入请求体、配置或日志片段
  • 校验 XML 基础语法,辅助排查标签闭合、嵌套和转义问题
  • 区分 XML 命名空间、CDATA、实体和格式化结果,并提醒格式化不会执行 XSD/WSDL 业务校验
  • 适合处理 SOAP、RSS、Sitemap 和应用配置等 XML 场景

使用方法

  1. 粘贴需要处理的 XML 文档、接口响应或配置片段
  2. 先确认 XML 声明、字符编码、命名空间和是否包含 CDATA/实体,再选择格式化、压缩或校验
  3. 查看结果后,用 XSD/WSDL、接口文档或目标解析器验证字段和业务语义
  4. 复制整理后的 XML 到接口工具、配置文件或技术文档中

示例输入

  • SOAP 请求体

    <Envelope><Body><GetUser><Id>42</Id></GetUser></Body></Envelope>

    适合展开层级并检查命名空间、节点闭合和 SOAP Body 结构。

  • Android / Maven 配置

    <dependency><groupId>com.example</groupId><artifactId>sdk</artifactId><version>1.0.0</version></dependency>

    适合整理构建配置,快速发现标签嵌套和重复节点问题。

  • 带属性的 XML

    <user id="42"><name>Alice</name><role>admin</role></user>

    适合对照属性与子节点的区别,排查接口字段映射错误。

  • 命名空间与 CDATA

    <ns:note xmlns:ns="urn:example"><ns:body><![CDATA[<p>保留标签文本</p>]]></ns:body></ns:note>

    适合确认前缀绑定、URI 和 CDATA 内容边界;格式化不会把 CDATA 内容当作可执行 XML。

示例输出

  • SOAP 请求体

    格式化后:<Envelope>
      <Body>
        <GetUser>
          <Id>42</Id>
        </GetUser>
      </Body>
    </Envelope>
  • Android / Maven 配置

    根元素:dependency;groupId=com.example;artifactId=sdk;version=1.0.0
  • 带属性的 XML

    根元素:user;属性 id=42;子节点 name=Alice、role=admin
  • 命名空间与 CDATA

    命名空间:ns -> urn:example;CDATA 内容保留为 <p>保留标签文本</p>,未当作子节点解析

常见错误

  • XML 标签必须正确闭合和嵌套,大小写不同也会被视为不同标签。
  • 命名空间前缀声明缺失或 URI 不一致时,文档看起来正确但业务解析仍会失败。
  • 属性和子节点不是同一种数据结构,转换为 JSON 时可能出现字段形状差异。
  • 外部实体和 DTD 不是普通格式问题;不可信 XML 交给服务端前必须确认已禁用外部实体解析。
  • 格式化不会验证 XSD、SOAP WSDL 或业务字段约束。

适用场景

  • SOAP 接口请求排查
  • Maven / Android 配置整理
  • XML 接口响应阅读
  • 标签和命名空间校验

实操检查

  • 核对 XML 格式化和压缩

    固定输入:<root><user id="1"><name>Tom</name></user></root>;步骤:点击“格式化”,确认层级后再点击“压缩”;预期结果:格式化结果包含两空格的 user、四空格的 name 和闭合 root,压缩结果为 <root><user id="1"><name>Tom</name></user></root>;失败判断:标签层级丢失、属性值改变,或压缩后仍保留标签间换行空白。

  • 核对 XML 无效输入处理

    固定输入:<root><name>Tom</root>;步骤:点击“校验”,再点击“格式化”;预期结果:校验显示无效且错误信息非空,格式化清空输出并显示错误;失败判断:无效文档被标为有效、错误为空,或格式化保留上一次有效 XML 输出。

页面专属核验

使用前与操作中

  • 先选择格式化、压缩或校验;三者都先经浏览器 DOMParser 判断 XML 是否良构,但不会按 XSD、SOAP、RSS、Sitemap 业务 schema 验证。
  • 格式化会按元素层级缩进并折叠简单文本节点,压缩使用 XMLSerializer 后移除标签间空白;要保留注释、处理指令、CDATA 和混合内容时必须检查输出差异。
  • 将“XML 有效”限定为当前解析器可解析;命名空间、属性、实体、编码声明和服务契约仍需在目标系统或专门 schema/接口测试中复核。

结果出来后

  • 输入 `<root><user id="1"><name>Tom</name></user></root>` 格式化后,是否按两格缩进保留 root、user 属性和 name 文本,且没有把值改成 JSON?
  • 输入带换行的 `<root>\n <name>Tom</name>\n</root>` 压缩后是否为 `<root><name>Tom</name></root>`;带不匹配闭合标签时校验是否返回可读错误?
  • 一个能被 DOMParser 解析的 XML 是否还需要用目标 XSD、命名空间契约、字段语义和真实 SOAP/RSS/Sitemap 消费端验证,而不是直接视为业务有效?

相关工具

  • JSON 工具:统一处理 JSON 格式化、校验、树形查看、Schema、CSV 转换、AI 响应分析和 JSON 修复
  • YAML 格式化:格式化、校验 YAML,并支持 YAML 与 JSON 互转
  • 文本对比:按行对比文本、配置、日志和接口响应差异
  • 代码格式化:统一格式化和轻量压缩 HTML、CSS、JavaScript 代码

工具边界

  • 工具主要处理 XML 文本格式和结构,不能替代 XSD、WSDL 或业务接口验证。
  • 大 XML 文档可能受到浏览器内存和输入长度限制。
  • 来源不可信的 XML 不应直接交给生产解析器,需关注实体和外部资源风险。

与相似工具的区别

  • JSON 工具:XML 保留属性、命名空间和混合内容;JSON 更轻量,适合多数现代 API,但不能无损表达所有 XML 结构。

安全与兼容性

  • 页面仅处理粘贴的 XML 文本,不会解析远程实体或访问文档中引用的网络资源。
  • 将不可信 XML 交给服务端时应禁用外部实体和 DTD,避免 XXE、文件读取及实体扩展攻击。

下一步排查

  1. 先确认 XML 声明、编码、标签闭合和命名空间。
  2. 再用文本对比定位与接口文档或上一版本响应的结构差异。
  3. 最后在目标 SOAP、构建或业务服务中用真实协议校验。

常见问题

XML 格式化后为什么接口仍报错?

还需检查命名空间、编码声明、XSD/WSDL 约束、必填字段和 SOAP Header,排版本身不会改变业务结构。

XML 属性和子节点应该怎么选?

取决于接口协议和数据模型;不要仅为格式好看而互换,否则可能改变序列化后的字段含义。

XML 格式化为什么不能证明接口可用?

格式化和基础语法校验只能说明文本结构可读或基本上良构;接口还要验证命名空间、XSD/WSDL、认证、必填字段、业务状态和真实服务响应。