XML 是 eXtensible 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 version="1.0" encoding="UTF-8"?> — 可选但推荐;指定 XML 版本和编码<tag> 和一个结束标签 </tag>。空元素可以自闭合:<br /><book id="1"><!-- 这是注释 --><![CDATA[ <raw> content ]]>xmlns:ns="http://example.com"当 XML 文档遵循所有语法规则时,它是格式良好的:有且仅有一个根元素、所有标签正确关闭和嵌套、属性加引号、特殊字符经过转义。任何 XML 解析器都可以处理格式良好的文档。
当文档符合模式(DTD 或 XSD)时,它也是有效的。模式定义了允许哪些元素和属性、它们的数据类型以及顺序。
五个字符在 XML 中具有特殊含义,在文本内容或属性值中使用时必须转义:
& — &(和号)< — <(小于号)> — >(大于号)" — "(双引号,在属性中)' — '(单引号,在属性中)pom.xml)、Android 布局、Spring Framework Bean、Ant 构建脚本sitemap.xml,内容聚合用 RSS 订阅JSON 已在大多数 REST API 中取代 XML,但 XML 在特定领域仍保持优势:
对于 Web API 和应用数据,选择 JSON。当需要以文档为中心的格式、模式、SOAP 服务或与强制要求 XML 的企业系统集成时,选择 XML。
<Book> 和 <book> 是不同的元素&、<、>、"、')必须转义XML(eXtensible Markup Language)是一种用于以人类可读、自描述格式存储和传输数据的标记语言。与 HTML 不同,XML 标签没有预定义——您可以自定义标签来描述数据的结构和含义。
XML 代表 eXtensible Markup Language(可扩展标记语言)。它由 W3C 开发,于 1998 年成为 W3C 推荐标准。
XML 用于配置文件(Maven pom.xml、Android 布局)、文档格式(DOCX、ODT、SVG)、SOAP Web 服务中的数据交换、RSS/Atom 订阅以及许多企业系统中。
HTML 专为在浏览器中显示数据而设计,有预定义标签。XML 专为使用用户定义标签存储和传输数据而设计。XML 对格式良好性要求严格——所有标签必须关闭并正确嵌套。HTML 则更宽松。
JSON 语法更简洁、更易读,且在 JavaScript 中有原生支持,使其成为 REST API 的主流选择。XML 支持属性、命名空间、注释和模式(XSD/DTD),更适合以文档为中心的格式、SOAP 服务和企业集成。
格式良好的 XML 文档遵循所有 XML 语法规则:有且仅有一个根元素、所有标签正确关闭和嵌套、属性加引号、特殊字符经过转义。任何 XML 解析器都可以处理格式良好的文档。