XML 格式化 / 校验

在浏览器本地格式化、压缩并校验 XML 结构。

XML 输入

缩进
data.xml
粘贴或输入 XML 来格式化、压缩或校验。

你的 XML 会在浏览器本地格式化、压缩和校验,不会上传到 BroBroGo。

常见问题

格式化和压缩有什么区别?

格式化会重新缩进 XML,让标签层级更容易阅读;压缩会去掉节点之间多余的换行和缩进,让内容更紧凑。编辑时用格式化,需要紧凑输出时用压缩。

校验会检查什么?

它会检查 XML 是否结构良好:有清晰的文档结构、标签成对匹配、属性带引号、标记写法合法。它不会按 XSD、DTD 或业务 schema 做规则校验。

格式化会改变有意义的空白吗?

元素和属性会保留,但有些 XML 里的空白本身有意义。如果文件包含混合内容或对空白敏感的文本,替换原文件前请先核对结果。

XML 格式化与压缩的机制

在处理 XML 数据时,格式化(美化)与压缩(最小化)是两种相反但互补的操作。

格式化通过重新缩进 XML 来提高代码的可读性。它会解析 XML 的层级结构,并在每个嵌套层级添加统一的缩进,使标签和节点的嵌套关系一目了然。这对于开发人员阅读、调试或维护配置文件非常有用。

压缩则旨在减少 XML 文件的体积。它会移除节点之间所有不必要的换行符、空格和缩进。通过消除这些冗余的空白字符,可以有效减小文件大小,从而提高数据在网络传输中的效率或减少存储占用。

需要注意的是,虽然格式化和压缩会保留所有的元素和属性,但 XML 中的空白字符处理较为复杂。如果 XML 文档中包含混合内容(即同一个元素内同时包含文本和子元素)或对空白敏感的文本,格式化或压缩过程可能会影响这些空白。在替换原始文件之前,建议仔细核对处理结果。

XML 结构有效性与语法规则

本工具的校验功能专注于检查 XML 是否满足“结构良好”(Well-Formed)的标准。一个结构良好的 XML 必须严格遵守以下基本语法规则:

  • 单一根元素:整个文档必须有且仅有一个根元素,所有其他元素都必须嵌套在其中。
  • 标签成对匹配:所有元素必须有对应的开始标签和结束标签(例如 <tag>...</tag>),或者使用自闭合标签(例如 <tag />)。标签名称必须大小写完全一致。
  • 属性值必须加引号:元素属性的值必须用单引号或双引号包围(例如 <element attribute="value">)。
  • 合法的标记与嵌套:标签必须正确嵌套,不能出现交叉嵌套(例如 <a><b></a></b> 是非法的)。此外,特殊字符(如 <&)必须使用对应的实体引用(如 &lt;&amp;)进行转义。

浏览器本地处理与隐私保护

使用本工具处理数据时,你的 XML 会在浏览器本地格式化、压缩和校验,不会上传到 BroBroGo。

所有的解析、格式化和校验计算均利用你本地设备的浏览器资源完成。这种本地处理机制确保了敏感的配置数据或业务信息不会通过网络发送到第三方服务器。

工具限制与错误定位

在处理大型文件或特定规范时,需要注意以下限制:

  • 大小限制:本工具支持的最大输入大小为 500,000 个字符。如果输入的 XML 超过此限制,工具将无法处理并显示提示信息:“这段 XML 太大,无法处理。请换小一点的文档。”
  • 校验范围:本工具仅进行结构良好性检查。它不会按照 XSD(XML Schema 定义)、DTD(文档类型定义)或任何特定的业务 schema 来校验数据的业务规则。
  • 错误定位:如果输入的 XML 存在语法错误,工具不会替换原始输入,而是会在输出区域指出具体的错误位置,显示如“XML 无效 · 第 {line} 行,第 {col} 列”。同时,在“解析信息”区域会提供具体的“无法处理这段 XML。”或相关的解析器错误消息,帮助你快速定位并修复不匹配的标签或缺失的引号。

常见问题

格式化和压缩有什么区别?

格式化会重新缩进 XML,让标签层级更容易阅读;压缩会去掉节点之间多余的换行和缩进,让内容更紧凑。编辑时用格式化,需要紧凑输出时用压缩。

校验会检查什么?

它会检查 XML 是否结构良好:有清晰的文档结构、标签成对匹配、属性带引号、标记写法合法。它不会按 XSD、DTD 或业务 schema 做规则校验。

格式化会改变有意义的空白吗?

元素和属性会保留,但有些 XML 里的空白本身有意义。如果文件包含混合内容或对空白敏感的文本,替换原文件前请先核对结果。

为什么提示“无法处理这段 XML。”?

当输入的 XML 结构严重损坏,导致解析器无法构建语法树时,工具会显示“无法处理这段 XML。”。如果文档字符数超过 500,000 个字符,则会触发“这段 XML 太大,无法处理。请换小一点的文档。”的限制提示。