更新時間:2020-12-02 17:44:14 來源:動力節(jié)點(diǎn) 瀏覽1712次
XML是標(biāo)準(zhǔn)通用標(biāo)記語言SGML的子集—可擴(kuò)展標(biāo)記語言,XML是一種用于標(biāo)記電子文件使其具有結(jié)構(gòu)性的標(biāo)記語言。XML的簡單易于在任何應(yīng)用程序中讀/寫數(shù)據(jù),使得XML很快成為數(shù)據(jù)交換的唯一公共語言,但掌握這門語言還是需要先了解XML語法的。本文我們就來看一看XML語法,以便我們今后對XML語言的深入學(xué)習(xí)。
一般情況下,一個XML文件的語法涉及到如下幾部分內(nèi)容:
1.文檔聲明
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
XML聲明放在XML文檔的第一行
XML聲明由以下幾個部分組成:
version –文檔符合XML1.0規(guī)范,我們學(xué)習(xí)1.0
encoding –文檔字符編碼,比如”GB2312”或者”UTF-8”
standalone –文檔定義是否獨(dú)立使用
standalone=”no”為默認(rèn)值。yes代表是獨(dú)立使用,而no代表不是獨(dú)立使用
2.元素(或者叫標(biāo)記、節(jié)點(diǎn))
(1)每個XML文檔必須有且只有一個根元素
根元素是一個完全包括文檔中其他所有元素的元素
根元素的起始標(biāo)記要放在所有其他元素的起始標(biāo)記之前
跟元素的結(jié)束標(biāo)記要放在所有其他元素的結(jié)束標(biāo)記之后
(2)XML元素指的是XML文件中出現(xiàn)的標(biāo)簽,一個標(biāo)簽分為開始標(biāo)簽和結(jié)束標(biāo)簽,一個標(biāo)簽有如下幾種書寫方式,例如
包含標(biāo)簽體:
<a>www.dabaquan.cn</a>
不含標(biāo)簽體的:
<a></a>,簡寫為:<a/>
(3)一個標(biāo)簽中也可以嵌套若干子標(biāo)簽。但所有標(biāo)簽必須合理地嵌套,絕對不允許交叉嵌套,例如
<a>welcome to <b> www.dabaquan.cn </a></b>
這種情況肯定是要報錯的。
(4)對于XML標(biāo)簽中出現(xiàn)的所有空格和換行,XML解析程序都會當(dāng)做標(biāo)簽內(nèi)容進(jìn)行處理。
(5)由于在XML中,空格和換行都作為原始內(nèi)容被處理,所以,在編寫XML文件時,要特別注意。
(6)命名規(guī)范:一個XML元素可以包含字母、數(shù)字以及其它一些可見字符,但必須遵守以下規(guī)范:
區(qū)分大小寫,例如,元素P和元素p是兩個不同的元素
不能以數(shù)字或下劃線”_”開頭
元素內(nèi)不能包含空格
名稱中間不能包含冒號(:)
可以使用中文,但一般不這么用
3.屬性
<student id="100">
<name>Tom</name>
</student>
(1)屬性值用雙引號(”)或單引號(’)分隔,如果屬性值中有單引號,則用雙引號分隔;如果有雙引號,則用單引號分隔。那么如果屬性值中既有單引號還有雙引號怎么辦?這種要使用實(shí)體(轉(zhuǎn)義字符,類似于html中的空格符),XML有5個預(yù)定義的實(shí)體字符。
(2)一個元素可以有多個屬性,它的基本格式為:
<元素名 屬性名1="屬性值1" 屬性名2="屬性值2">
(3)特定的屬性名稱在同一個元素標(biāo)記中只能出現(xiàn)一次
(4)屬性值不能包括<,>,&,如果一定要包含,也要使用實(shí)體
4.注釋
XML的注釋類似于HTML中的注釋:
<!--這是一個注釋-->
(1)注釋內(nèi)容不要出現(xiàn)--
(2)不要把注釋放在標(biāo)記中間;
(3)注釋不能嵌套
(4)可以在除標(biāo)記以外的任何地方放注釋
5.CDATA節(jié)
假如有這么一個需求,需要通過XML文件傳遞一幅圖片,怎么做呢?其實(shí)我們看到的電腦上的所有文件,本質(zhì)上都是字符串,不過它們都是特殊的二進(jìn)制字符串。我們可以通過XML文件將一幅圖片的二進(jìn)制字符串傳遞過去,然后再解析成一幅圖片。那么這個字符串就會包含大量的<,>,&或者“等一些特殊的不合法的字符。這時候解析引擎是會報錯的。
所以,有些內(nèi)容可能不想讓解析引擎解析執(zhí)行,而是當(dāng)做原始內(nèi)容處理,用于把整段文本解釋為純字符數(shù)據(jù)而不是標(biāo)記。這就要用到CDATA節(jié)。
語法如下:
<![CDATA[
......
]]>
CDATA節(jié)中可以輸入任意字符(除]]>外),但是不能嵌套。
6.處理指令
處理指令,簡稱PI(processing instruction)。處理指令用來指示解析引擎如何解析XML文件,看下面一個例子:
比如我們也可以使用css樣式表來修飾XML文件,編寫my.css如下:
name{
font-size:80px;
font-weight:bold;
color:red;
}
sex{
font-size:60px;
font-weight:bold;
color:blue;
}
sex{
font-size:40px;
font-weight:bold;
color:green;
}
我們在xml文件中使用處理指令引入這個css文件,如下:
<?xml version="1.0" encoding="gb2312"?>
<?xml-stylesheet href="my.css" type="text/css"?>
<class>
<stu id="001">
<name>小明</name>
<sex>男</sex>
<age>20</age>
</stu>
<stu id="002">
<name>小紅</name>
<sex>女</sex>
<age>21</age>
</stu>
</class>
這時候我們再用瀏覽器打開這個xml文件,會發(fā)現(xiàn)瀏覽器解析出一個帶樣式的視圖,而不再是單純的目錄樹了。
以上就是對XML語法的詳細(xì)介紹,在我們學(xué)習(xí)XML語言的過程中多多少少都會用到,XML語言能夠不斷發(fā)展壯大,成為一門成功的可擴(kuò)展標(biāo)記語言,自有其獨(dú)特的魅力。想深入學(xué)習(xí)的小伙伴可以觀看本站的XML教程,掌握最新的XML學(xué)習(xí)資料。
初級 202925
初級 203221
初級 202629
初級 203743