什么是 XML?
XML(可扩展标记语言)是一种用于存储、传输和重构数据的标记语言和文件格式。它定义了一套规则,用于以人类可读和机器可读的格式编码文档。
快速了解
| 全称 | 可扩展标记语言 |
|---|---|
| 创建时间 | 1998 年由 W3C 发布 |
| 规范文档 | 官方规范 |
工作原理
XML 使用标签来定义元素,类似于 HTML 但可以使用自定义标签名。每个开始标签必须有对应的结束标签,元素必须正确嵌套。XML 支持标签内的属性、用于避免命名冲突的命名空间,以及用于验证的模式(XSD)。虽然 JSON 在很大程度上已经取代了 XML 用于 Web API,但 XML 在企业系统、文档格式(DOCX、SVG)和配置文件中仍然很重要。
主要特点
- 使用自定义标签名进行自描述
- 严格的语法 - 必须格式良好
- 支持命名空间以消除元素歧义
- 使用 XSD 或 DTD 进行模式验证
- 支持注释、CDATA 节和处理指令
- 平台和语言无关
常见用途
- 企业数据交换(SOAP、EDI)
- 文档格式(Microsoft Office、SVG、RSS)
- 配置文件(Maven、Android、Spring)
- 数据存储和归档
- Web 服务(SOAP API)
示例
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 内的特殊字符(如 < > &)不需要转义。常用于嵌入代码片段、数学公式或包含大量特殊字符的文本,避免繁琐的转义。