目录

简介XML


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


什么是XML?

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

XML 不做任何事情

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

此注释是 Jani 给 Tove 的注释,存储为 XML:

<note>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>

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

  • 它有发件人信息
  • 有接收者信息
  • 它有一个标题
  • 它有一个消息正文

但是,上面的 XML 仍然没有执行任何操作。 XML 只是包装在标签中的信息。

必须有人编写一个软件来发送、接收、存储或显示它:

笔记

致:托芙

来自:贾尼

提醒

这个周末别忘了我!


XML 和 HTML 之间的区别

XML 和 HTML 的设计目标不同:

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


XML 不使用预定义标签

XML 语言没有预定义标签。

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

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

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


XML 是可扩展的

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

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

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

XML 的构造方式,旧版本的应用程序仍然可以工作:

<note>
  <date>2015-09-01</date>
  <hour>08:30</hour>
  <to>Tove</to>
  <from>Jani</from>
  <body>Don't forget me this weekend!</body>
</note>

旧版

笔记

致:托芙

来自:贾尼

提醒

这个周末别忘了我!

新版本

笔记

致:托芙

来自:贾尼

日期:2015-09-01 08:30

这个周末别忘了我!


XML 简化了事情

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

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

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

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

通过 XML,数据可以供各种"reading machines"使用,例如人、计算机、语音机器、新闻提要等。


XML 是 W3C 推荐标准

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