什么是 XML?

XML(可扩展标记语言)是一种用于存储、传输和重构数据的标记语言和文件格式。它定义了一套规则,用于以人类可读和机器可读的格式编码文档。

快速了解

全称可扩展标记语言
创建时间1998 年由 W3C 发布
规范文档官方规范

工作原理

XML 使用标签来定义元素,类似于 HTML 但可以使用自定义标签名。每个开始标签必须有对应的结束标签,元素必须正确嵌套。XML 支持标签内的属性、用于避免命名冲突的命名空间,以及用于验证的模式(XSD)。虽然 JSON 在很大程度上已经取代了 XML 用于 Web API,但 XML 在企业系统、文档格式(DOCX、SVG)和配置文件中仍然很重要。

主要特点

  • 使用自定义标签名进行自描述
  • 严格的语法 - 必须格式良好
  • 支持命名空间以消除元素歧义
  • 使用 XSD 或 DTD 进行模式验证
  • 支持注释、CDATA 节和处理指令
  • 平台和语言无关

常见用途

  1. 企业数据交换(SOAP、EDI)
  2. 文档格式(Microsoft Office、SVG、RSS)
  3. 配置文件(Maven、Android、Spring)
  4. 数据存储和归档
  5. Web 服务(SOAP API)

示例

loading...
Loading code...

常见问题

XML 和 JSON 有什么区别?应该选择哪个?

XML 使用标签结构,支持属性、命名空间和模式验证,适合复杂文档和企业系统。JSON 语法更简洁,解析更快,是 Web API 的首选。选择建议:Web API 和前端数据交换用 JSON;配置文件、文档格式、需要严格验证的企业系统用 XML。

什么是格式良好的 XML?

格式良好的 XML 必须满足:1)有且仅有一个根元素;2)所有标签必须正确关闭;3)标签必须正确嵌套,不能交叉;4)属性值必须用引号包围;5)区分大小写;6)特殊字符必须转义(如 < > &)。不满足这些条件的 XML 无法被解析器处理。

XML 命名空间是什么?为什么需要它?

命名空间用于避免不同 XML 词汇表中元素名称的冲突。例如,HTML 的 <table> 和表示家具的 <table> 可能在同一文档中出现。通过命名空间前缀(如 <html:table> 和 <furniture:table>)可以区分它们。命名空间通过 xmlns 属性声明。

如何验证 XML 文档的结构?

XML 验证有两种主要方式:1)DTD(文档类型定义):较老的方式,语法简单但功能有限;2)XSD(XML Schema):更强大,支持数据类型、复杂约束和命名空间。验证确保 XML 文档不仅格式良好,还符合预定义的结构规则。

XML 中的 CDATA 节是什么?什么时候使用?

CDATA(Character Data)节用于包含不需要解析的文本内容,语法为 <![CDATA[ 内容 ]]>。CDATA 内的特殊字符(如 < > &)不需要转义。常用于嵌入代码片段、数学公式或包含大量特殊字符的文本,避免繁琐的转义。

相关工具

相关术语

相关文章