XML XML是什麼? (1)XML,Extensible Markup Language,可擴展標記語言,由W3C組織。 (2)XML的主要用途是用於存儲數據,不同於HTML的主要目的是顯示數據 (3)xml將數據包裝成一定格式,有結構性,能夠展現出數據間的關係,也便於維護,所以常見於用作配置文件 ...
XML
“當 XML(擴展標記語言)於 1998 年 2 月被引入軟體工業界時,它給整個行業帶來了一場風暴。有史以來第一次,這個世界擁有了一種用來結構化文檔和數據的通用且適應性強的格式,它不僅僅可以用於 WEB,而且可以被用於任何地方。”
XML是什麼?
(1)XML,Extensible Markup Language,可擴展標記語言,由W3C組織。
(2)XML的主要用途是用於存儲數據,不同於HTML的主要目的是顯示數據
(3)xml將數據包裝成一定格式,有結構性,能夠展現出數據間的關係,也便於維護,所以常見於用作配置文件
舉例說明xml文件是如何結構化存儲數據的
以下是一個簡單的xml文件:
<?xml version="1.0" encoding="UTF-8" ?> <frult> <name>apple</name> <price>15</price> </fruit>
xml文件內容為樹形結構。
xml文檔中將開始標簽到對應的結束標簽之間的內容表示為一個元素包含的內容,上面的xml文檔中表示了一個fruit元素:
* 尖括弧里的"fruit"表示元素名,<fruit>表示開始標簽,</fruit>表示結束標簽,開始標簽到結束標簽這一段就表示fruit這個元素的內容
* 子元素可以作為父元素的屬性來使用,這和父元素在標簽內定義屬性效果是一樣的,比如:
<?xml version="1.0" encoding="UTF-8" ?> <fruit name="apple" price="15"></fruit>
<?xml version="1.0" encoding="UTF-8" ?> <fruit> <name>apple</name> <price>15</price> </fruit>
上面這兩個xml文檔存儲的信息是一樣的。
XML的版本
有1.0和1.1兩個版本,通常用的是1.0版本,因為1.1版本不向下相容
XML的結構和組成
一個XML文件大致由五部分組成:
* 元素
* 屬性
* 特殊字元
* PCDATA:Parsed character data, 會被xml解析器解析的字元數據
* CDATA
下麵是一個完整的xml文件示例:
<?xml version="1.0" encoding="UTF-8" ?> <class> <teacher id="1"> <!-- 元素用標簽定義,從開始標簽到結束標簽的內容就是一個元素的內容 --> <name>Wang</name> <age>33</age> <!-- 屬性位於開始標簽內,屬性名和屬性值之間用=連接,屬性值用引號包起來 --> </teacher> <student> <name>chen</name> <!-- 開始標簽和結束標簽之間的文本部分稱為PCDATA,比如chen,14 --> <age>14</age> </student> <student> <name>li</name> <age>15</age> </student> <> <!-- 特殊字元,在xml解析時會進行轉義 -->
<![CDATA[ c = a + b; } ]]> <!-- CDATA區,這部分不會被xml解析器解析,會原樣顯示 --> </class>
XML文件要遵循的語法規則:
(1)要編寫一個xml文件,首先在文檔的第一列開始寫一個文檔聲明:
<?xml version="1.0" encoding="UTF-8" ?>
文檔聲明必須寫在第一行第一列,否則解析器將無法將文件識別為xml文檔
文檔聲明中的屬性:
屬性 | 含義 | 屬性值 |
version | 規定文檔版本 | 1.0 1.1 |
encoding | 規定文檔編碼 | UTF-8 GBK ISO8859-1等編碼 |
standalone | 規定是否需要依賴其他文件 | yes no |
(2)xml文件必須有一個根標簽
(3)開始標簽必須有對應的結束標簽,即有始有終,標簽中可以包含標簽,但應該合理的嵌套。
這是合理的嵌套:
<fruit><name></name></fruit>
這是錯誤的嵌套:
<fruit><name></fruit></name>
(4)標簽命名時,應該註意:
(i)大小寫敏感
(ii)不能以數字或下劃線開頭
(iii)不能包含空格,換行和冒號
(5)xml中的註釋:<!-- 註釋內容 -->
* 註意,註釋不能嵌套
(6)特殊字元要在xml中顯示,需要經過轉義,用對應的轉義字元來代替
特殊字元 | 對應的轉義字元 |
& | & |
< | < |
> | > |
" | " |
' | &apos |