1. 简介:
xml 指可扩展标记语言(extensible markup language),是被设计用来传输和存储数据的,他很想html的标记语言,而html是被设计用来显示数据的。对xml的最好的描述是:@H_403_9@xml是独立于软件和硬件的信息传输工具。什么时候用xml呢?当你需要在一个程序中提供可更改的配置信息、不同的应用程序间交换数据。
2. 语法:
XML 语法同html有几分相似
(1) XML 必须包含一个根元素,它是所有其他元素的父元素。
(2) 第一行往往需要一个 XML 的声明比如:<?xml version="1.0" encoding="utf-8"?>
(3) 每一个标签不要忘记关闭标签:“<lable> </lable> ” 中的 </lable> 是关闭标签
(4) XML 标签对大小写敏感
(5) XML 中的属性值必须加引号,属性概念可以理解为键值对,比如 <>
(6) 用实体引用代替特殊符号,比如 < 号,解析器总是将小于号解析成新元素的开始,但是如果我们确实需要使用它,用实体引用来代替,在 XML 中,有5个预定义的实体引用:
< | < | Less than(小于) |
> | > | Greater than(大于) |
& | & | Ampersand(与) |
' | ' | Apostrophe(单引号) |
" | " | quotation mark(双引号) |
(8) 注意空格,空格不会被删除
(9) XML 中以 LF (换行符)来存储换行
3. XML 元素
(1) XML 元素指的是从开始标签到结束标签的部分。一个元素可以包含:其他元素、文本、属性、或混合以上所有。 <person>
<sex>female</sex>
</person>
其中的sex是元素
(2) XML 的命名规则:
- 名字不能以数字或者标点符号开始
- 名字不能以xml、Xml、xmL等 开始
- 名字不能包含空格
- 避免使用 . - : 这三个符号
4. XML 属性
(1) 属性提供有关元素的额外信息。属性通常提供不属于数据组成部分的信息。在下面的实例中,文件类型与数据无关,但是对需要处理这个元素的软件来说却很重要。(2) 属性值必须加引号包围,引号可以是单引号和双引号,如果属性本身包含双引号,整体用单引号。<person sex="female"> </person> 其中的sex是属性
(3) 由于属性难以阅读和维护,应该尽量使用元素来描述数据,而仅仅用属性来提供与数据无关的信息,因为属性不能包含多个值、不能包含数结构、不容易扩展
以下是不正确的:
<person name="xx" age="20"> </person>
5. XML 命名空间
命名空间的用途就不用多说了,不同命名空间中的相同名字的元素表示的不是一个就是了。命名空间的使用需要 xmlns 属性,属性放的位置可以是他们被使用的元素中或者在 XML 根元素中:
<root xmlns:h="http://www.w3.org/TR/html4/" xmlns:f="http://www.w3cschool.cc/furniture"> <h:table> <h:tr> <h:td>Apples</h:td> <h:td>Bananas</h:td> </h:tr> </h:table> <f:table> <f:name>African Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table> </root>
<root> <h:table xmlns:h="http://www.w3.org/TR/html4/"> <h:tr> <h:td>Apples</h:td> <h:td>Bananas</h:td> </h:tr> </h:table> <f:table xmlns:f="http://www.w3cschool.cc/furniture"> <f:name>African Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table> </root>可以看出命名空间声明的语法: xmlns:前缀="URI",其中的URI是不会被解析器用于查找信息的。其目的是赋予唯一的一个名字,因此,内容可以任意,不过,很多公司常常会作为指针来使用命名空间指向实际存在的网页,这个网页包含关于命名空间的信息。