XML
一、简介
XML 被设计用来传输和存储数据。
HTML 被设计用来显示数据。
- XML 指可扩展标记语言(EXtensible Markup Language)
- XML 是一种标记语言,很类似 HTML
- XML 的设计宗旨是传输数据,而非显示数据
- XML 标签没有被预定义。您需要自行定义标签。
- XML 被设计为具有自我描述性。
二、XML 是不作为的
- 也许这有点难以理解,但是 XML 不会做任何事情。XML 被设计用来结构化、存储以及传输信息。XML 文档没有做任何事情。它仅仅是包装在 XML 标签中的纯粹的信息。
- 我们需要编写软件或者程序,才能传送、接收和显示出这个文档。能够读懂 XML 的应用程序可以有针对性地处理 XML 的标签。标签的功能性意义依赖于应用程序的特性。
- XML 没有预定义的标签。在 HTML 中使用的标签(以及 HTML 的结构)是预定义的。HTML 文档只使用在 HTML 标准中定义过的标签(比如
、
等等)。XML 允许创作者定义自己的标签和自己的文档结构。
三、XML 文档形成一种树结构
XML 文档必须包含根元素。该元素是所有其他元素的父元素。XML 文档中的元素形成了一棵文档树。这棵树从根部开始,并扩展到树的最底端。
所有元素均可拥有子元素:
<root>
<child>
<subchild>.....</subchild>
</child>
</root>
四、语法
- 所有 XML 元素都须有关闭标签
- XML 标签对大小写敏感
- XML 文档必须有根元素
- XML 的属性值须加引号 / 请尽量使用元素来描述数据。而仅仅使用属性来提供与数据无关的信息。
<note date="08/08/2008">
<to>George</to>
<from>John</from>
</note>
- 注释
- 在 XML 中,空格会被保留
- XML 以 LF 存储换行
可扩展性
<note>
<to>George</to>
<from>John</from>
<body>Don't forget the meeting!</body>
</note>
让我们设想一下,我们创建了一个应用程序,可将
MESSAGE
To: George
From: John
Don't forget the meeting!
想象一下,之后这个 XML 文档作者又向这个文档添加了一些额外的信息:
<note>
<date>2008-08-08</date>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
那么这个应用程序会中断或崩溃吗?
不会!