XML 简介

XML 是一种独立于软件和硬件的工具,用于存储和传输数据。

什么是 XML?

  • XML 指可扩展标记语言(EXtensible Markup Language)
  • XML 是一种标记语言,很像 HTML
  • XML 旨在存储和传输数据
  • XML 被设计为具有自我描述性
  • XML 是 W3C 推荐标准

没有任何行为的 XML

也许有点难以理解,但 XML 不会做任何事情。

XML 被设计用来结构化、存储以及传输信息。

下面是 John 写给 George 的便签,存储为 XML:

<note>
  <to>George</to>
  <from>John</from>
  <heading>Reminder</heading>
  <body>Don't forget the meeting!</body>
</note>

上面的 XML 非常具有自我描述性:

  • 它有发件人信息
  • 它有收件人信息
  • 它有标题
  • 它有消息正文

但是,这个 XML 文档仍然没有做任何事情。它仅仅是包装在 XML 标签中的纯粹的信息。

我们需要编写软件或者程序,才能传送、接收和显示出这个文档。

Note

To: George

From: John

Reminder

Don't forget the meeting!

XML 和 HTML 之间的区别

XML 和 HTML 的设计目标不同:

  • XML 旨在承载数据 - 重点关注数据是什么
  • HTML 旨在显示数据 - 重点关注数据的外观
  • XML 标签不像 HTML 标签那样被预先定义

XML 不使用预定义的标签

XML 语言没有预定义标签。

上例中的标签(如 <to> 和 <from>)未在任何 XML 标准中定义。这些标签是 XML 文档的作者“发明”的。

HTML 使用预定义的标签,如 <p>、<h1>、<table> 等。

对于 XML,作者必须定义标签和文档结构。

XML 是可扩展的

即使添加了(或删除了)新数据,大多数 XML 应用程序也会按预期工作。

假设一个应用程序设计用于显示 note.xml 的原始版本(<to> <from> <heading> <body>)。

然后设想一个较新版本的 note.xml 添加了 <date> 和 <hour> 元素,并删除了 <heading>。

XML 以此方式重构后,旧版的应用程序可以照常工作:

<note>
  <date>2023-01-10</date>
  <hour>09:30</hour>
  <to>George</to>
  <from>John</from>
  <body>Don't forget the meeting!</body>
</note>

新版本

Note

To: George

From: John

Date: 2023-01-10 09:30

Don't forget the meeting!

XML - 简化万物

  • XML 简化了数据共享
  • XML 简化了数据传输
  • XML 简化了平台变更
  • XML 简化了数据可用性

许多计算机系统包含格式互不兼容的数据。对于 Web 开发人员来说,在不兼容的系统(或升级的系统)之间交换数据是一项耗时的任务。为此,必须转换大量数据,并且这些不兼容的数据也极易丢失。

XML 以纯文本格式存储数据。这就提供了一种独立于软件和硬件的存储、传输和共享数据的方式。

XML 还可以更轻松地扩展或升级到新操作系统、新应用程序或新浏览器,而不会丢失数据。

通过 XML,数据可以供各种“阅读机器”使用,比如人、计算机、语音机器、新闻提要等。

XML 是 W3C 推荐标准

早在 1998 年 2 月,XML 就成为了 W3C 推荐标准。