跳转到正文

XML 验证器

在发布 feed、站点地图、SVG 或配置文件之前,检查 XML 文档是否格式良好。验证器会扫描标签、属性、嵌套结构和字符,并报告第一个问题及其行号、列号和解析器说明,例如不匹配的结束标签。格式良好的文档会显示根元素、元素和属性的数量以及嵌套深度。它检查的是格式是否良好,不检查 DTD 或 XSD 规则。

重置

常见问题

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

格式良好的 XML 遵循基本语法规则:只有一个根元素,标签正确嵌套并闭合,属性使用正确的引号。有效的 XML 还必须符合定义允许使用哪些元素的 DTD 或 XML Schema。此工具检查格式是否良好;所有 XML 解析器在进行其他处理之前都要求满足这一点。

具体会检查哪些内容?

验证器会检查是否恰好有一个根元素、每个标签是否按正确顺序闭合、标签名和属性名是否有效、属性值是否加引号且没有重复,以及元素外是否出现多余字符。XML 声明、注释、CDATA 节和处理指令均可接受。

错误类型分别是什么意思?

错误分为四类:文档结构、标签、属性和字符。错误行会用通俗语言指出所属类别,详细信息行则提供解析器的准确说明,例如指出预期的标签。两者都会附上问题所在的行号和列号。

为什么不带值的属性会被拒绝?

HTML 允许使用 <input disabled> 等布尔属性,但 XML 要求每个属性都有加引号的值。请写成 disabled="disabled",或移除该属性。同一规则也适用于 SVG 和 XHTML 文件。

可以用它验证 HTML 吗?

只能验证 XHTML,也就是用 XML 编写的 HTML。普通 HTML 允许 <br> 或 <img> 等元素不闭合,也允许属性不加引号,而 XML 不允许这些情况,因此通常会被报告为格式不良。

支持 DOCTYPE 声明和实体吗?

带有实体声明的 DOCTYPE 会作为语法检查的一部分被接受,但实体不会展开,也不会获取任何外部文件。这样可以加快检查速度,并防止实体扩展攻击。& 和 < 等预定义实体始终可用。

支持命名空间吗?

svg:rect 或 xsi:schemaLocation 等带前缀的名称可用作元素名和属性名。验证器不会解析命名空间 URI,也不会检查每个前缀是否已声明。

有效文档的统计信息显示什么?

根元素是最外层的标签;Elements 统计包括根元素在内的所有元素;Attributes 统计文档中的所有属性。Maximum depth 是最深的嵌套层级,根元素为第 1 层。这些数字有助于确认 feed 或导出内容是否符合预期。

行号和列号如何计算?

两者都从输入开头开始计数,起始值为 1。该位置指向解析器发现问题的地方;对于未闭合的标签,位置可能在其开始标签本身。只会报告第一个错误。

XML 最大能有多大?可以转换吗?

输入最多可达 5 MiB。要将格式良好的文档转换为 JSON、YAML、CSV 或其他格式,请使用数据格式转换器,或使用 XML 到 JSON 工具。

关于 OneClick Pro

OneClick Pro 是一个免费的工具集合,包含超过 150 种网络工具,助你处理日常工作:转换图像和单位、格式化和验证代码、检查域名和 SEO,以及处理文本、日期和数字。所有工具均可免注册、免订阅使用;你输入的内容仅用于计算结果,绝不会被存储。你可以将它用作处理临时任务的快捷工具箱,也可以收藏每天都会用到的工具。