什么是 XML?

文章

XMLeXtensible Markup Language(可扩展标记语言)的缩写。它是一种用于以人类可读、自描述格式存储和传输数据的标记语言。与 HTML 不同,XML 没有预定义标签——您可以自定义标签来描述数据的结构和含义。XML 是 W3C 标准,是无数文件格式和企业系统的基础。

需要格式化或验证 XML 文档?

打开 XML 格式化工具 →

历史

XML 由万维网联盟(W3C)的 XML 工作组开发,是 SGML(标准通用标记语言)的简化子集。它于 1998 年 2 月 10 日成为 W3C 推荐标准。2000 年代初,XML 是 Web 数据交换和 Web 服务(SOAP)的主流格式。尽管 JSON 已接管大多数 REST API,但 XML 在文档格式(DOCX、SVG、RSS)、企业中间件以及 Java Maven 等配置密集型生态系统中仍不可或缺。

基本语法

XML 文档以可选的声明开头,指定版本和字符编码。文档的其余部分是一棵元素树。每个元素都有一个开始标签、可选的内容或子元素以及一个结束标签。元素可以在开始标签中携带属性

<?xml version="1.0" encoding="UTF-8"?>
<library>
  <book id="1" available="true">
    <title>Clean Code</title>
    <author>Robert C. Martin</author>
    <year>2008</year>
  </book>
  <book id="2" available="false">
    <title>The Pragmatic Programmer</title>
    <author>Andrew Hunt</author>
    <year>1999</year>
  </book>
</library>

核心概念

格式良好与有效的 XML

当 XML 文档遵循所有语法规则时,它是格式良好的:有且仅有一个根元素、所有标签正确关闭和嵌套、属性加引号、特殊字符经过转义。任何 XML 解析器都可以处理格式良好的文档。

当文档符合模式(DTD 或 XSD)时,它也是有效的。模式定义了允许哪些元素和属性、它们的数据类型以及顺序。

特殊字符与实体

五个字符在 XML 中具有特殊含义,在文本内容或属性值中使用时必须转义:

常见使用场景

XML 与 JSON 比较

JSON 已在大多数 REST API 中取代 XML,但 XML 在特定领域仍保持优势:

对于 Web API 和应用数据,选择 JSON。当需要以文档为中心的格式、模式、SOAP 服务或与强制要求 XML 的企业系统集成时,选择 XML。

注意事项

常见问题

什么是 XML?

XML(eXtensible Markup Language)是一种用于以人类可读、自描述格式存储和传输数据的标记语言。与 HTML 不同,XML 标签没有预定义——您可以自定义标签来描述数据的结构和含义。

XML 代表什么?

XML 代表 eXtensible Markup Language(可扩展标记语言)。它由 W3C 开发,于 1998 年成为 W3C 推荐标准。

XML 有什么用?

XML 用于配置文件(Maven pom.xml、Android 布局)、文档格式(DOCX、ODT、SVG)、SOAP Web 服务中的数据交换、RSS/Atom 订阅以及许多企业系统中。

XML 和 HTML 有什么区别?

HTML 专为在浏览器中显示数据而设计,有预定义标签。XML 专为使用用户定义标签存储和传输数据而设计。XML 对格式良好性要求严格——所有标签必须关闭并正确嵌套。HTML 则更宽松。

XML 和 JSON 有什么区别?

JSON 语法更简洁、更易读,且在 JavaScript 中有原生支持,使其成为 REST API 的主流选择。XML 支持属性、命名空间、注释和模式(XSD/DTD),更适合以文档为中心的格式、SOAP 服务和企业集成。

什么是格式良好的 XML 文档?

格式良好的 XML 文档遵循所有 XML 语法规则:有且仅有一个根元素、所有标签正确关闭和嵌套、属性加引号、特殊字符经过转义。任何 XML 解析器都可以处理格式良好的文档。

参考资料