XML文件結(jié)構(gòu)和基本語法是什么?相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
為安丘等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及安丘網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站制作、網(wǎng)站建設(shè)、安丘網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!XML文件結(jié)構(gòu)和基本語法
分類: html java2010-03-12 17:04 903人閱讀 評(píng)論(1) 收藏 舉報(bào)
4.1.1 XML文件結(jié)構(gòu)
一個(gè)XML文件通常包含文件頭和文件體兩大部分
1. 文件頭
XML文件頭由XML聲明與DTD文件類型聲明組成。其中DTD文件類型聲明是可以缺少的,關(guān)于DTD聲明將在后續(xù)的內(nèi)容中介紹,而XML聲明是必須要有的,以使文件符合XML的標(biāo)準(zhǔn)規(guī)格。
在前面的Flowers.xml文件中的第一行代碼即為XML聲明:
<?xml version="1.0" encoding="gb2312"?>
其中:
“<?”代表一條指令的開始,“?>”代表一條指令的結(jié)束;
“xml”代表此文件是XML文件;
“ version="1.0" ”代表此文件用的是XML1.0標(biāo)準(zhǔn);
“ encoding="gb2312" ” 代表此文件所用的字符集,默認(rèn)值為Unicode,如果該文件中要用到中文,就必須將此值設(shè)定為gb2312。
注意:XML聲明必須出現(xiàn)在文檔的第一行。
2. 文件體
文件體中包含的是XML文件的內(nèi)容,XML元素是XML文件內(nèi)容的基本單元。從語法講,一個(gè)元素包含一個(gè)起始標(biāo)記、一個(gè)結(jié)束標(biāo)記以及標(biāo)記之間的數(shù)據(jù)內(nèi)容。
XML元素與HTML元素的格式基本相同,其格式如下:
<標(biāo)記名稱 屬性名1="屬性值1" 屬性名1="屬性值1" ……>內(nèi)容</標(biāo)記名稱>
所有的數(shù)據(jù)內(nèi)容都必須在某個(gè)標(biāo)記的開始和結(jié)束標(biāo)記內(nèi),而每個(gè)標(biāo)記又必須包含在另一個(gè)標(biāo)記的開始與結(jié)束標(biāo)記內(nèi),形成嵌套式的分布,只有最外層的標(biāo)記不必被其他的標(biāo)記所包含。最外層的是根元素(Root),又稱文件(Document)元素,所有的元素都包含在根元素內(nèi)。
在前面的Flowers.xml文件中,根元素就是<Flowers>,根元素必須而且只能有一個(gè),在該文件有三個(gè)<Flower>子元素,這樣的元素可以有多個(gè)。
4.1.2 XML的基本語法
1. 注釋
XML的注釋與HTML的注釋相同,以“<!--”開始,以“-->”結(jié)束。
2. 區(qū)分大小寫
在HTML中是不區(qū)分大小寫的,而XML區(qū)分大小寫,包括標(biāo)記,屬性,指令等。
3. 標(biāo)記
XML標(biāo)記與HTML標(biāo)記相同,“<”表示一個(gè)標(biāo)記的開始,“>” 表示一個(gè)標(biāo)記的結(jié)束。XML中只要有起始標(biāo)記,就必須有結(jié)束標(biāo)記,而且在使用嵌套結(jié)構(gòu)時(shí),標(biāo)記之間不能交叉。
在XML中不含任何內(nèi)容的標(biāo)記叫做空標(biāo)記,格式為:<標(biāo)記名稱/>
4. 屬性
XML屬性的使用與HTML屬性基本相同,但需要注意的是屬性值要加雙引號(hào)。
5. 實(shí)體引用
實(shí)體引用是指分析文檔時(shí)會(huì)被字符數(shù)據(jù)取代的元素,實(shí)體引用用于XML文檔中的特殊字符,否則這些字符會(huì)被解釋為元素的組成部分。例如,如果要顯示“<”,需要使用實(shí)體引用“<”否則會(huì)被解釋為一個(gè)標(biāo)記的起始。
XML中有5個(gè)預(yù)定義的實(shí)體引用,如表 4.1所示。
表 4.1 XML預(yù)定義的實(shí)體引用
6. CDATA
在XML中由一個(gè)特殊的標(biāo)記CDATA,在CDATA中所有文本都不會(huì)被XML處理器解釋,直接顯示在瀏覽器中,使用方法如下:
<![CDATA[
這里的內(nèi)容可以直接顯示。
]]>
7. 處理指令
處理指令使用來給處理XML文件的應(yīng)用程序提供信息的,處理指令的格式如下:
<?處理指令名稱 處理指令信息?>
例如,XML聲明就是一條處理指令:
<?xml version="1.0" encoding="gb2312"?>
其中,“xml”是處理指令名稱,version="1.0" encoding="gb2312"是處理指令信息。
4.2 XML與CSS
利用CSS可以用來設(shè)定XML文件的顯示方式,即在XML文件的頭部,XML聲明的下面加入下面一條語句:
<?xml:stylesheet type="text/css" href="css文件的URL"?>
下面我們通過例子來介紹如何利用CSS來顯示XML文件。首先建立一個(gè)css文件,代碼如下:
flowers.css:一個(gè)顯示XML文件的CSS樣式
flower{font-size:24px; display:block}
vendor{font-size:36px;color:red}
price{display:block}
然后,在flowers.xml文件中使用這個(gè)css樣式,即在flowers.xml文件中的XML聲明下面加入以下語句:
<?xml:stylesheet type="text/css" href="flowers.css"?>
完整的程序代碼如下:
ex4_3_01.xml:利用CSS 顯示XML文件
<?xml version="1.0" encoding="gb2312"?>
<?xml:stylesheet type="text/css" href="Flowers.css"?>
<Flowers>
<Flower>
<Vendor>shop1</Vendor>
<Name>iris</Name>
<Price>$4.00</Price>
</Flower>
<Flower>
<Vendor>shop2</Vendor>
<Name>iris</Name>
<Price>$4.30</Price>
</Flower>
<Flower>
<Vendor>shop3</Vendor>
<Name>iris</Name>
<Price>$3.50</Price>
</Flower>
</Flowers>
此例在瀏覽器中的顯示效果如圖 4.2所示。
圖 4.2 利用CSS 顯示XML文件
用CSS來顯示XML文件時(shí),不具備任何選擇性,也就是說,根元素之下的所有數(shù)據(jù)都會(huì)被全部顯示,不能改變?cè)募慕Y(jié)構(gòu)和內(nèi)容的順序。另外,CSS并不支持中文標(biāo)記,因?yàn)镃SS 不是專門為XML開發(fā)的樣式語言,而下面要介紹到的XSL就可以,XSL是特別為XML設(shè)計(jì)的,它比CSS更為復(fù)雜。
4.3 XSL
在上一節(jié)介紹的用CSS顯示XML文件,效果不是很理想,實(shí)際上,CSS主要是適合HTML文件,對(duì)于XML這種數(shù)據(jù)文件,CSS就不適合了,尤其是對(duì)那些需要按照不同的條件將文件內(nèi)容重新排列顯示的情況,而用XSL就可以。
XSL是當(dāng)前最強(qiáng)大和靈活的樣式語言,是特別為應(yīng)用XML而設(shè)計(jì)的,它比CSS要復(fù)雜的多。但是,目前它還未被很好的支持,也還沒有最后完成。
利用XSL來設(shè)定XML文件的顯示方式,即在XML文件的頭部,XML聲明的下面加入下面一條語句:
<?xml:stylesheet type="text/xsl" href="xsl文件的URL"?>
下面我們通過例子來介紹如何利用XSL來顯示XML文件。首先建立一個(gè)xsl文件,代碼如下:
flowers.xsl:用來顯示XML文件的xsl文件
<?xml version="1.0" encoding="gb2312"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match = "/">
<table border="1">
<tr align="center">
<th width="100">Vendor</th>
<th width="100">Flower</th>
<th width="100">Price</th>
</tr>
<xsl:for-each select="//Flowers/Flower">
<tr align="center">
<td><xsl:value-of select="Vendor"/></td>
<td><xsl:value-of select="Name"/></td>
<td><xsl:value-of select="Price"/></td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>
我們可以看出:一個(gè)XSL文件就如一個(gè)空的HTML文件,通過填充一個(gè)XML文件產(chǎn)生一個(gè)傳統(tǒng)的HTML文件。
一個(gè)XSL文件首先必須有一個(gè)XML聲明(即第一行),因?yàn)閄SL實(shí)際上是一種特殊的XML文件。XSL的根元素是xsl:stylesheet,即一個(gè)XSL文件必須以<xsl:stylesheet>標(biāo)記開始,以</xsl:stylesheet>標(biāo)記結(jié)束,xmlns:xsl屬性用于設(shè)定XSL的命名域。
XSL的根元素通常是由一個(gè)或多個(gè)樣板元素所組成,在此例中只包含單一樣板,它是由<xsl:template>標(biāo)記開始,以<xsl:template>標(biāo)記結(jié)束,使用match屬性可以在XML文件中選取符合條件的節(jié)點(diǎn),即設(shè)定樣板名稱,對(duì)于最上層樣板,match設(shè)為“/”,代表整個(gè)XML文件的根元素。
然后是從XML文件中取得所需的數(shù)據(jù),取得數(shù)據(jù)最簡單的方法是:
<xsl:value-of select="模式"/>
如果要取得多個(gè)元素,則要使用xsl:for-each元素,格式如下:
<xsl:for-each select="模式">
…..
</xsl:for-each>
接下來,我們要在flowers.xml文件中使用這個(gè)xsl文件,即在flowers.xml文件中的XML聲明下面加入以下語句:
<?xml:stylesheet type="text/xsl" href="flowers.xsl"?>
完整的程序代碼如下:
ex4_4_01.xml:利用XSL 顯示XML文件
<?xml version="1.0" encoding="gb2312"?>
<?xml:stylesheet type="text/xsl" href="flowers.xsl"?>
<Flowers>
<Flower>
<Vendor>shop1</Vendor>
<Name>iris</Name>
<Price>$4.00</Price>
</Flower>
<Flower>
<Vendor>shop2</Vendor>
<Name>iris</Name>
<Price>$4.30</Price>
</Flower>
<Flower>
<Vendor>shop3</Vendor>
<Name>iris</Name>
<Price>$3.50</Price>
</Flower>
</Flowers>
看完上述內(nèi)容,你們掌握XML文件結(jié)構(gòu)和基本語法是什么的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道,感謝各位的閱讀!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
當(dāng)前題目:XML文件結(jié)構(gòu)和基本語法是什么-創(chuàng)新互聯(lián)
鏈接地址:http://aaarwkj.com/article18/pjsgp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、定制網(wǎng)站、外貿(mào)建站、網(wǎng)站導(dǎo)航、全網(wǎng)營銷推廣、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容