XML 格式是互联网传输的事实标准,传统的 web 服务器都建立在 XML 数据之上。不过 XML 数据结构过于繁琐、冗长 , 数据访问过程复杂,浏览器兼容问题严重,导致它在应用开发中逐渐被 JSON 代替。
XML 是 Extensible Markup Language (可扩展的标记语言)的缩写,它提供了用于描述结构化数据的格式,适用于不同应用程序间的数据交换,而且这种交换不以预先定义的一组数据结构为前提,增强了可扩展性。 XMLHttpRequest 对象与服务器交换的数据,通常采用 XML 格式。
XML 是一套定义语义标记的规则,也是用来定义其它标识语言的元标识语言。使用 XML 时,首先要了解 XML 文档的基本结构,然后根据该结构创建所需的 XML 文档。
了解了 XML 文档的基本结构后,接下来还需要熟悉创建 XML 文档的语法要求。创建 XML 文档的语法要求如下:
XML 文档必须有一个顶层元素,其它元素必须嵌入顶层元素中。
元素嵌套要正确,不允许元素间相互重叠或跨越。
每一个元素必须同时拥有起始标记和结束标记。这点与 HTML 不同, XML 不允许忽略结束标记。
起始标记中的元素类型名必须与相应结束标记中的名称完全匹配。
XML 元素类型名区分大小写,而且开始和结束标记必须准确匹配。例如,分别定义起始标记 <Title>
、结束标记 </title>
,由于起始标记的类型名与结束标记的类型名不匹配,说明元素是非法的。
元素类型名称中可以包含字母、数字以及其它字母元素类型,也可以使用非英文字符。名称不能以数字或符号 ";-"$1 头,名称中不能包含空格符和冒号 " : " 。
元素可以包含属性,但属性值必须用单引号或双引号括起来。但是前后两个引号必须一致,不能一个是单引号,一个是双引号。在一个元素节点中,属性名不能重复。
在一个元素的起始标记中,可以自定义一个或者多个属性。属性是依附于元素存在的。属性值用单引号或者双引号括起来。
例如,给元素 info 定义属性 id ,用于说明公告信息的 ID 号 :
<info id="1">
给元素添加属性是为元素提供信息的一种方法。当使用 CSS 样式表显示 XML 文档时,浏览器不会显示属性以及其属性值。若使用数据绑定、 HTML 页中的脚本或者 XSL 样式表显示 XML 文档,则可以访问属性及属性值。
注意 相同的属性名不能在元素起始标记中出现多次。
注释是为了便于阅读和理解,在 XML 文档添加的附加信息。注释是对文档结构或者内容的解释,不属于 XML 文档的内容,所以 XML 解析器不会处理注释内容。 XML 文档的注释以字符串 " <!" " 开始,以字符串 " "> " 结束。 XML 解析器将忽略注释中的所有内容,这样可以在 XML 文档中添加注释说明文档的用途,或者临时注释掉没有准备好的文档部分。
注意 在 XML 文档中,解析器将 " "> " 看作一个注释结束符号,所以字符串 " "> " 不能出现在注释的内容中,只能作为注释的结束符号。