💻 第十一章 XML究竟是什么
📄 一句话概括

办公文档、矢量图形、订阅源、企业报文、配置与构建、地图轨迹——XML 一直在看不见的地方稳稳工作,只是新式 Web 接口多半已改投 JSON。

📝 本节和前面几节的关系

八个要点讲完,本节收拢:看看 XML 如今究竟活在哪里,也把它的边界交代清楚。

一、六大活跃领域

办公文档:docx/xlsx/pptx 内部都是一包 XML(改后缀为 zip 就能看到); 矢量图形:SVG 就是 XML 方言,网页图标、地图切片大量使用; 信息订阅:RSS/Atom 订阅源——播客、新闻聚合的底层; 企业系统:SOAP Web 服务、EDI 报关报税单据——校验严格是硬需求; 配置与构建:Maven/Ant 构建文件、Android 界面布局、各类行业软件配置; 位置与记录:GPS 轨迹 GPX、地理数据 KML、电子发票与电子病历。

二、为什么没有被 JSON 取代

结构定义是刚需:Schema 校验一字不差,企业交换、政务与金融离不开; 行业标准积累深:几十年的报文规范都建立在 XML 上,替换成本极高; 文档格式绑定:Office、SVG 等格式就是 XML,谈不上【取代】; 结论:Web 公开接口让位 JSON,其余三块 XML 长期稳固。

三、学习它的价值在哪

它把【语法/语义/结构定义】三层分得清清楚楚——这套分层思维通用于一切数据格式; 理解了 XML 的元语言定位,再看 JSON Schema、Protobuf 定义、数据库 DDL,都能一眼看穿思路; 这就是本章放在讲 SE 之前的原因:数据表达先过关,下一章才好谈【系统怎么建】。

四、动手 Demo:六大领域一览表

把 XML 的活跃领域与具体用途整理成一张表,作为本章的收束。

domains = [
    ("办公文档", "docx/xlsx/pptx 内部是 XML 包"),
    ("矢量图形", "SVG 即 XML 方言"),
    ("信息订阅", "RSS / Atom"),
    ("企业系统", "SOAP、EDI 报税报关"),
    ("配置构建", "Maven/Ant、Android 布局"),
    ("位置记录", "GPX / KML / 电子发票"),
]
for n, u in domains:
    print(n, "|", u)

实跑输出:

--------------------------------------------------------------------
XML 可用于各种各样的领域
--------------------------------------------------------------------

XML 诞生于 1998 年, 至今仍无处不在——只是多在【看不见的地方】:

  领域           XML 的具体用途
  ------------------------------------------------------------------
  办公文档       docx/xlsx/pptx 内部都是一包 XML(改后缀为 zip 可看)
  图形矢量       SVG 就是 XML(网页图标、地图切片)
  信息订阅       RSS/Atom 订阅源
  企业系统       SOAP 老一代 Web 服务、EDI 报关单据
  配置与构建     Maven/Ant 构建文件、Android 界面布局
  地图与电池     GPS 轨迹 GPX、地理数据 KML、电子发票

【⚠️ 2026 现状】新式 Web 接口大多改用 JSON(更短更好解析),
但【文档格式、企业数据交换、配置】这三块 XML 依然稳固——
因为它的强项是【自带结构定义(Schema)】和【与平台无关】, 换不掉。
下章看 SE 工程师怎么监管整个系统的构建。

六大领域有个共同点:文档要长期保存、跨系统传递、有严格的格式要求——正是 XML 的强项。 反面例子是浏览器与服务器之间的一次性接口调用:追求短小省流量,于是 JSON 胜出。

30 秒实验

  1. 用解压软件打开任意一个 .docx,找到里面的 XML 文件,随便读一段标签。
  2. 为【XML 与 JSON 各用在哪】各举两个切身例子,并说明理由。

常见误区

  1. 以为 XML 已经过时——它只是从 Web 接口退位,在文档、企业交换、配置三块仍然是主力。
  2. 以为会了 JSON 就不必懂 XML——【结构定义+命名空间】的思维方式是通用的,两套都要会。
自测三问(点开对答案) 1. XML 今天最活跃的三块地盘? —— 文档格式、企业数据交换、配置文件——另有图形与订阅等分支。 2. XML 为什么没被 JSON 取代? —— Schema 严格校验、行业标准积累深、文档格式本身绑定。 3. 学 XML 的通用价值? —— 语法/语义/结构定义的分层思维,通用于所有数据格式。

相关笔记