XML
XML(可扩展标记语言,Extensible Markup Language)是一种用标签描述结构化数据的文本格式。它不像 HTML 那样只有一套固定标签,标签名由你自己定义,因此既能被程序解析、又方便人阅读。一段 XML 通过嵌套的元素和属性来表达层级关系,例如 <book id="1"><title>XML</title></book>。
它常用于配置文件、数据交换和文档格式,如 RSS、SVG、SOAP、Android 布局、Office 的 .docx 等。XML 有严格的"良构"(well-formed)规则:
- 必须有且只有一个根元素;
- 所有标签成对闭合、正确嵌套,且大小写敏感;
- 特殊字符要转义,如
<写成<、&写成&; - 建议在开头声明编码,如
<?xml version="1.0" encoding="UTF-8"?>。
容易混淆的是"良构"与"有效":前者只要语法正确,后者还需符合 DTD/XSD 定义的结构约束。相比 JSON,XML 更冗长,如今 Web API 多改用 JSON,但在企业系统、文档和配置领域 XML 依然主流。文件层级深时可读性差,可用 xml-format 工具缩进美化后再排查。
常见问题
XML 和 HTML 有什么区别?
HTML 用一套预定义标签来展示网页内容,重点在"显示";XML 没有固定标签,标签由你自定义,目的是描述和承载数据。此外浏览器解析 HTML 较宽松,而 XML 要求严格良构。
XML 和 JSON 该怎么选?
传递简单数据、面向 Web 或前端时,JSON 更轻量易读;当需要属性、命名空间、schema 校验,或要对接 SOAP、办公文档等既有 XML 生态时,选 XML 更合适。
"良构(well-formed)"和"有效(valid)"是一回事吗?
不是。良构指语法正确,比如单一根元素、标签闭合、嵌套正确;有效则是在良构基础上,还要符合 DTD 或 XSD 所定义的结构规则。只满足语法不代表数据结构就对。