XML格式化校验

免费在线XML格式化校验工具,支持美化、压缩、语法校验、错误行号定位,CDATA原样保留,适配SOAP接口报文调试,本地浏览器处理不上传,免登录即用。

0 次使用 0
输入
输出
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:usr="http://api.example.com/user">
  <soapenv:Header/>
  <soapenv:Body>
    <usr:queryUserRequest>
      <usr:userId>10001</usr:userId>
      <usr:detail>
        <usr:includeProfile>true</usr:includeProfile>
        <usr:includeOrders>false</usr:includeOrders>
      </usr:detail>
      <usr:remark>
        <![CDATA[备注 <无特殊字符转义> & 内容]]>
      </usr:remark>
    </usr:queryUserRequest>
  </soapenv:Body>
</soapenv:Envelope>
缩进

XML常见语法错误

XML比HTML严格得多,标签必须完全闭合、大小写敏感、属性必须加引号。以下是调试SOAP报文和配置文件时最常见的错误:

错误类型示例说明
标签未闭合<user>...(缺</user>)每个开始标签必须有对应的结束标签
大小写不匹配<Name>...</name>XML标签区分大小写,开始与结束必须一致
属性未加引号<user id=1>属性值必须用单引号或双引号包裹
特殊字符未转义a & b、<tag> 原样出现&、<、>必须写成&amp;&lt;&gt;
多个根元素<a/><b/>文档只能有一个顶层根元素
命名空间未声明<soap:Body> 无 xmlns:soap使用前缀前必须先声明对应命名空间

常见问题

格式化后XML声明会变成两行吗?

不会。本工具会把XML声明(<?xml version="1.0"?>)、注释、DOCTYPE单独成行输出,标签内容按层级缩进,声明始终保持在第一行。如果声明前出现了空行或BOM字符,部分严格的解析器会报错,建议粘贴前先去掉。

CDATA里的内容会被格式化破坏吗?

不会。CDATA(<![CDATA[...]]>)中的内容是纯文本,格式化时原样保留,不做缩进和转义处理,其中的换行、空格都会与输入保持一致。

校验通过但接口仍报错是什么原因?

语法校验只能保证XML结构合法,接口报错常见原因还有:缺少命名空间声明、必填字段缺失、字段顺序不符合XSD约束、编码声明与实际编码不一致等。建议对照接口文档的Schema(XSD/WSDL)逐项核对。