XML简介
XML(EXtensible Markup Language)
是一种标记语言,很类似 HTML,HTML就是专门用于携带网页结构数据的xml格式
XML 是独立于软件和硬件的信息传输工具
XML 标签没有被预定义,需要自行定义标签
XML 标签没有被预定义。您需要自行定义标签
与HTML差别
XML 不是 HTML 的替代
XML 和 HTML 为不同的目的而设计:
XML 被设计为传输和存储数据,其焦点是数据的内容
HTML 被设计用来显示数据,其焦点是数据的外观
HTML 旨在显示信息,而 XML 旨在传输信息
XML特点
XML没有任何行为
XML 被设计用来结构化、存储以及传输信息
举例:
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
上面的这条便签具有自我描述性,它拥有标题以及留言,同时包含了发送者和接受者的信息
但是,这个 XML 文档仍然没有做任何事情
它仅仅是包装在 XML 标签中的纯粹的信息
需要编写软件或者程序,才能传送、接收和显示出这个文档
XML 仅仅是纯文本
XML只是纯文本,有能力处理纯文本的软件都可以处理 XML
不过,能够读懂 XML 的应用程序可以有针对性地处理 XML 的标签
标签的功能性意义依赖于应用程序的特性
XML可以发明自己的标签
上例中的标签没有在任何 XML 标准中定义过,而是由文档的创作者发明的
这是因为 XML 没有预定义的标签;而HTML中的标签都是预定义的,所以只能使用在HTML标准中定义过的标签
而 XML 允许创作者定义自己的标签和自己的文档结构
XML 的应用非常广泛
目前,XML 在 Web 中起到的作用不会亚于一直作为 Web 基石的 HTML
XML 是各种应用程序之间进行数据传输的最常用的工具,并且在信息存储和描述领域变得越来越流行
XML 的语法规则
所有 XML 元素都须有关闭标签
在 XML 中,省略关闭标签是非法的。所有元素都必须有关闭标签
注意:
XML 声明没有关闭标签。这不是错误。声明不属于XML本身的组成部分。它不是 XML 元素,也不需要关闭标签
XML 标签对大小写敏感
必须使用相同的大小写来编写打开标签和关闭标签
XML 必须正确地嵌套
在 XML 中,所有元素都必须彼此正确地嵌套
XML 文档必须有根元素
XML 文档必须有一个元素是所有其他元素的父元素,该元素称为根元素
<root>
<child>
<subchild>.....</subchild>
</child>
</root>
XML 的属性值须加引号
与 HTML 类似,XML 也可拥有属性,且属性必须加引号
<note date="08/08/2008">
<to>George</to>
<from>John</from>
</note>
实体引用
在 XML 中,一些字符拥有特殊的意义。
如果你把字符 “<” 放在 XML 元素中,会发生错误,这是因为解析器会把它当作新元素的开始,从而产生XML错误
<message>if salary < 1000 then</message> <!-- 错误 -->
实体 | 符号 |
---|---|
< | < |
> | > |
& | & |
&apos | ’ |
" | " |
XML 中的注释
<!-- This is a comment -->
在 XML 中,空格会被保留
HTML 会把多个连续的空格字符裁减(合并)为一个
在 XML 中,文档中的空格不会被删节