一、XML簡介
XMl,EXtensible Markup Language,可擴展標記語言。標記,類似于標簽,一般這樣標示:<Student>;可擴展:可以隨意地往里面添加自己的標簽。
特點:1、XML與造作系統(tǒng)、編程語言的開發(fā)平臺都無關(guān)。2、規(guī)范統(tǒng)一。
作用:數(shù)據(jù)交換、配置應用程序和網(wǎng)站、Ajax基石。
二、XML文檔結(jié)構(gòu)
1、聲明
聲明:說明本XML文檔符合XML的哪個版本規(guī)范,并且說明本文檔的編碼格式。對于任何一個XML文檔,其聲明部分都是固定的格式。如下:
<?xmlversion="1.0" encoding="UTF-8">
2、標簽
在XML中,用<>括起來的各種標簽(Tag)來標記數(shù)據(jù),標簽需成對使用來界定字符數(shù)據(jù),例如<author>王珊</author>這一對標簽中,<author>是開始標簽,</author>是結(jié)束標簽,“王珊”是標簽描述的內(nèi)容,表示作者信息。XML文件可以包含任意數(shù)量的標簽。
3、根元素
<books> </books>成對出現(xiàn),叫做XML文檔的根元素。每個XML文件的根元素有且只有一個。
根元素的特點如下:
1、根元素是一個完全包括文檔中其他所有元素的元素。
2、根元素的起始標簽要放在所有其他元素的起始標簽之前。
3、根元素的結(jié)束標簽要放在所有其他元素的結(jié)束標簽之后。
<?xmlversion="1.0" encoding="UTF-8">
<books>
<!--圖書信息--> 注釋
<book id = "bk101">
<author>王珊</author>
<title>.NET高級編程</title>
<description>包含C#框架和網(wǎng)絡編程等 </description>
</book>
<book id = "bk102">
<author>張三</author>
<title>基礎(chǔ)編程</title>
<description>包含XML基礎(chǔ)概念和基本作用</description>
</book>
</books>
4、元素
XML文檔的主要部分是元素,元素由開始標簽、元素內(nèi)容和結(jié)束標簽組成。元素內(nèi)容可以包含子元素、字符數(shù)據(jù)等。如<author>王珊</author>就是一個元素。
元素的命名規(guī)則如下:
- 名稱中可以包含字符、數(shù)字或者其他字符。
- 名稱不能以數(shù)字或者標點符號開始。
- 名稱不能以字符xml(或者XML、Xml)開始。
- 名稱中不能包含空格。
注:1、XML標簽必須成對出現(xiàn)并正確嵌套,如下面的嵌套方式是不正確的。
<title><name>XML編程</title></name>
2、元素允許是空元素,如以下元素的寫法是允許的:<name> </name>或者<name/>
3、 屬性值用雙引號包裹
5、屬性
在描述圖書信息的XML文檔中,<book id = "bk101">標簽使用id屬性描述圖書的編號信息。屬性定義的語法格式如下:<元素名 屬性名 = "屬性值">。
注:1、一個元素可以有多個屬性,它的基本格式為
<元素名 屬性名 = "屬性值" 屬性名 = "屬性值"/>多個屬性之間用空格隔開。
2、屬性值不能直接包含< “ &(不建議: ‘ >)等字符
3、屬性可以加在任何一個元素的起始標簽上,但不能加在結(jié)束標簽上。
6、XML中的特殊字符的處理
在XML中,有時在元素的文本中會出現(xiàn)一些特殊字符(如<、>、'、"、&),而XML文檔結(jié)構(gòu)本身就用到了這幾個特殊字符,有以下兩種辦法,可以正確地解析包含特殊字符的內(nèi)容。
1、轉(zhuǎn)義
對這5個特殊字符進行轉(zhuǎn)義,也就是使用XML文檔中的預定義實體代替這些字符,XML中的預定義實體和特殊字符的對應關(guān)系如下:
在后面要記得加分號
符號 轉(zhuǎn)義符(預定義實體)
< <(less than)
> >
" "
' '
& &
如:
<student id="<s1">解析為<student id="<s1">
如:<test>我們上面的標簽包含<student></student></test>解析為
<test>我們上面的標簽包含<student></student></test>
但是這種方式太麻煩,可讀性差。只需告訴瀏覽器我這是一個普通的文本,不是標簽,那怎么去做呢?
2、CDATA節(jié)
當元素中出現(xiàn)很多特殊字符時,可以使用CDATA節(jié)。CDATA節(jié)中的所有字符都會被當做元素字符數(shù)據(jù)的常量部分,而不是XML標簽。定義CDATA節(jié)的語法格式如下:
<![CDATA[要顯示的字符]]>
如
<description>
<![CDATA[講解了元素<title>以及</title>的使用]]>
</description>
7、XML中的注釋
注釋的語法格式如下:
<!--注釋內(nèi)容-->
8、格式良好的XML文檔
格式良好的XML文檔需要遵循如下規(guī)則:
1、必須有XML聲明語句
2、必須有且僅有一個根元素
3、標簽大小寫敏感
4、屬性值用雙引號包含起來
5、標簽成對出現(xiàn)
6、元素正確嵌套
三、XML編寫注意事項
1、所有XML元素都必須有結(jié)束標簽
2、XML標簽對大小寫很敏感
3、XML必須正確的嵌套
4、同級標簽以縮進對齊
5、元素名稱可以包含字母、數(shù)字和其他的字符
6、元素名稱不能以數(shù)字或者標點符號開始比如<5name>就不行
7、元素名稱不能包含空格
在<student name>里面,系統(tǒng)會認為空格后面就是屬性了,不會認為這兩個是一體。
四、推薦命名習慣
1、見名知意
2、名字盡量比較簡短一點<book_title>
3、可以用下劃線,但是不要用中橫線、不要用點、也不要用冒號。如<book-title> <book.title><book:title>冒號在XML中有特殊的作用。
4、因為數(shù)據(jù)庫跟XML有很大的關(guān)系,所以一般數(shù)據(jù)可怎么命名,XML文件就怎么命名,這兩個平著來就可以了。
五、XML中的命名空間
命名空間在XML文檔中可以用作元素或?qū)傩悦Q的名稱集合,它們用來標示來自特定域(標準組織、公司、行業(yè))的名稱。