第2章XML文件的規(guī)則ppt課件_第1頁
第2章XML文件的規(guī)則ppt課件_第2頁
第2章XML文件的規(guī)則ppt課件_第3頁
第2章XML文件的規(guī)則ppt課件_第4頁
第2章XML文件的規(guī)則ppt課件_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第第2章章 XML文件的規(guī)那么文件的規(guī)那么 2.2 XML中標(biāo)志設(shè)置 2.3 特殊字符處置 2.4 CDATA段 2.5 標(biāo)志的文本數(shù)據(jù) 2.1 XML聲明 第第2章章 XML文件的規(guī)那么文件的規(guī)那么 2.9 區(qū)分大小寫 2.10 標(biāo)志的子標(biāo)志的關(guān)系 2.6 屬性設(shè)置 2.7 注釋設(shè)置 2.8 稱號空間 一個規(guī)范的XML文件,聲明該當(dāng)在文件的第一行,在其前面不能有空白或其他的任何字符,聲明以“終了。XML的聲明用來闡明這是一個XML文檔,聲明中包含了XML文件的相關(guān)信息。下面是一個XML聲明:2.1 XML聲明聲明 2.1.1 XML聲明中的版本屬性 2.1.2 XML聲明中的編碼屬性 2.1

2、.3 XML聲明中的獨立屬性 留意:“之間不要有空格。 XML聲明中的版本的屬性:version 該屬性指出該XML文件遵照那個版本的XML規(guī)范,一個XML聲明可以只包含版本屬性。假設(shè)聲明中還包含有其它屬性,版本屬性必需排在其它屬性之前。目前,版本屬性的值只可以取1.0,XML的1.1版本還沒有被正式公布 。假設(shè)將XML的聲明中的版本屬性值設(shè)置成“1.1: XML聲明中的版本屬性聲明中的版本屬性 出現(xiàn)的錯誤如以下圖所示: XML聲明中的版本的屬性:encoding XML聲明中的編碼屬性聲明中的編碼屬性 1 在XML規(guī)范中列出了很多編碼的類型,常用可選的字符集有:q GB2312或GBK:簡體

3、中文編碼。q BIG5:繁體中文編碼。q UTF-8:緊縮Unicode編碼。 該屬性規(guī)定了該XML文件采用編碼的字集。假設(shè)沒有明確地指出“encoding的屬性值,那么默許值是“UTF-8。在保管XML文件時必需選擇一樣的字符編碼。XML聲明中的編碼屬性聲明中的編碼屬性 2 小李 1234567 標(biāo)志的中文可以正常顯示,如下圖: 假設(shè)XML文檔運用中文標(biāo)志或出現(xiàn)中文內(nèi)容,就應(yīng)該在XML聲明中運用“GB2312編碼,例如: 假設(shè)不運用gb2312編碼,而是運用默許的編碼,解析器將會提示錯誤,例如將XML文件寫成如下方式: XML聲明中的編碼屬性聲明中的編碼屬性 3 小李 1234567 解析器

4、報告的錯誤如下圖: XML聲明中的版本的屬性:standalone XML聲明中的獨立屬性聲明中的獨立屬性 該屬性用來闡明XML文件能否是完全獨立的,即能否與其他文件相關(guān)聯(lián),該屬性可以取值為“yes或“no。一個XML文件可以完全獨立被了解而無需讀取其他文件,就是一個獨立的XML文件。反之,假設(shè)不援用其他外部實體或數(shù)據(jù)源就不能進(jìn)展句法分析,那么這樣的文件就不是一個獨立的文件。獨立的XML文件的聲明中standalone屬性的值設(shè)置為“yes:假設(shè)沒有顯示地指明該屬性,那么默許值是“no。2.2 XML中標(biāo)志設(shè)置中標(biāo)志設(shè)置 XML文件中的標(biāo)志分為空標(biāo)志和非空標(biāo)志兩種 。 2.2.4 標(biāo)志的稱號

5、2.2.2 非空標(biāo)志的設(shè)置 2.2.5 根標(biāo)志 2.2.1 空標(biāo)志的設(shè)置 2.2.3 非空標(biāo)志的內(nèi)容設(shè)置 空標(biāo)志的設(shè)置空標(biāo)志的設(shè)置 所謂的空標(biāo)志就是沒有任何標(biāo)志內(nèi)容的標(biāo)志。由于空標(biāo)志不標(biāo)志任何內(nèi)容,所以不需求開場標(biāo)志和終了標(biāo)志??諛?biāo)志以“終了??梢院袑傩砸部梢圆缓袑傩浴8袷綖椋?留意:“之前可以有空格或回車。 例如: 非空標(biāo)志的設(shè)置非空標(biāo)志的設(shè)置 1 1 含有標(biāo)志內(nèi)容的標(biāo)志稱為非空標(biāo)志。非空標(biāo)志必需由“開場標(biāo)志與“終了標(biāo)志組成。開場標(biāo)志以“終了,“之間是標(biāo)志的稱號和屬性列表。開場標(biāo)志的格式為: 終了標(biāo)志以“標(biāo)識終了?!爸g是標(biāo)志的稱號,終了標(biāo)志不含有屬性。終了標(biāo)志的格式為: 非空標(biāo)志的設(shè)置

6、非空標(biāo)志的設(shè)置 2 2 “開場標(biāo)志和“終了標(biāo)志之間的是該標(biāo)志所標(biāo)志的內(nèi)容。例如: 小王 留意:開場標(biāo)志中“前面可 以有空格或回車。終了標(biāo)志中“前面可以有空格或回車。終了標(biāo)志的稱號要與開 始標(biāo)志的稱號一致。 非空標(biāo)志的內(nèi)容設(shè)置非空標(biāo)志的內(nèi)容設(shè)置 1 1 非空標(biāo)志的標(biāo)志內(nèi)容可以由文本數(shù)據(jù)和標(biāo)志構(gòu)成。其中的標(biāo)志稱為該標(biāo)志的子標(biāo)志。文本數(shù)據(jù)可以由任何的可見或不可見字符組成。例如 : 小王 男 “標(biāo)志所標(biāo)志的文本數(shù)據(jù)是“小王。它還包含一個子標(biāo)志“,該子標(biāo)志所標(biāo)志的文本數(shù)據(jù)是“男 非空標(biāo)志的內(nèi)容設(shè)置非空標(biāo)志的內(nèi)容設(shè)置 2 2 第二個例子: apple apple apple 在上述代碼中,3個“標(biāo)志所標(biāo)志

7、的內(nèi)容不是完全一樣的。第一個“標(biāo)志所標(biāo)志的內(nèi)容是跟在開場標(biāo)志后面的換行符、“apple和后面的換行符。第二個“標(biāo)志所標(biāo)志的內(nèi)容就是“apple。第三個“標(biāo)志所標(biāo)志的內(nèi)容是“apple及后面的空格符。 標(biāo)志的稱號標(biāo)志的稱號 無論是空標(biāo)志還是非空標(biāo)志都要有一個稱號,用戶在定義標(biāo)志的時候,標(biāo)志的命名必需滿足如下規(guī)那么: 1稱號可以由字母、數(shù)字、下劃線“_、點“.或連字符“-組成,不能含有空格。 2稱號必需以字母或下劃線開頭。 3假設(shè)XML文件采用UTF-8等編碼,標(biāo)志的稱號還可以包含漢字及其它多種言語中的文字。 以下都是合法的標(biāo)志稱號:根標(biāo)志根標(biāo)志 一個XML文件中必需有且只需一個根標(biāo)志,其他標(biāo)志必

8、需封裝在根標(biāo)志中。XML文件中的標(biāo)志必需構(gòu)成樹狀分層構(gòu)造 。例如: orange 1.0 banana 2.0 fruitsnamefruitfruitpricenamepricebanana2.0orange1.0文檔構(gòu)造圖:2.3 特殊字符處置特殊字符處置 1 XML中有5種特殊字符:左尖括號小于號“、與符號“&、單引號“和雙引號“,這些字符在XML中稱為標(biāo)志字符,是標(biāo)志的組成部分。例如: The score:85:A 60:C others:B. 解析器會把“和“誤以為XML的標(biāo)志而不會當(dāng)做大于號和小于號。如下圖: 2.3 特殊字符處置特殊字符處置 2 假設(shè)在標(biāo)志內(nèi)容當(dāng)中需求用到

9、這些字符,就需求經(jīng)過實體援用的方法。對于上面的5個特殊字符,XML有對應(yīng)的5個預(yù)定義實體,見下表: 特殊字符方式特殊字符對應(yīng)的實體援用>或>& amp;或&& apos;或'& quot;或"2.3 特殊字符處置特殊字符處置 3 前面的程序可以修正為: The score:>85:A <60:C others:B. 這樣,解析器就能解析出預(yù)期的結(jié)果,如下圖: 2.4 CDATA段段1 假設(shè)XML文件的一段標(biāo)志內(nèi)容中需求用到許多這樣的特殊字符,文本數(shù)據(jù)中就會出現(xiàn)很多實

10、體援用,在標(biāo)志內(nèi)容中大量運用實體援用會帶來很多不便,如:文本數(shù)據(jù)閱讀困難。為此,W3C引入了另一種方法CDATACharacter Data段。CDATA段類似于HTML中的標(biāo)志。包含在CDATA段中的內(nèi)容會被XML解析器按原樣解析出來。也就是說,解析器不對段內(nèi)容做分析處置。所以,CDATA段中可以包含恣意的字符。 CDATA段用“作為段終了。段開場和段終了之間稱為CDATA段內(nèi)容。例如: 85:A 2.4 CDATA段段2 上例中CDATA中的內(nèi)容內(nèi)容“The score:85:A 60:C others:B.不會被解析器分析處置。留意:“的各個字符之間不能有空格符。CDATA段中不可以嵌套

11、另一個CDATA段。 2.5 標(biāo)志的文本數(shù)據(jù)標(biāo)志的文本數(shù)據(jù)1 標(biāo)志的內(nèi)容可以包括文本數(shù)據(jù)和標(biāo)志。標(biāo)志的文本數(shù)據(jù)中可以有普通的字符、CDATA段、字符援用和實體援用。 普通字符可以是恣意的字符特殊字符運用見2.3節(jié)。對于無法從鍵盤輸入到文件中的字符,如希臘字母,可以運用字符援用。字符援用的格式是“&#+字符代碼或“&#x+字符代碼。其中以“&#為開場的援用,運用的是字符的十進(jìn)制代碼。以“&#x為開場的援用,運用的是字符的十六進(jìn)制代碼。字符的代碼可以在字符映射表依次單擊“開場“程序“附件“系統(tǒng)工具“字符映射表中找到。 2.5 標(biāo)志的文本數(shù)據(jù)標(biāo)志的文本數(shù)據(jù)2 一個實例

12、: 標(biāo)志的文本數(shù)據(jù)。 對應(yīng)字符:Abc 利用DOM解析器解析,得到的結(jié)果如下圖: 查看DOM解析器代碼2.6 屬性設(shè)置屬性設(shè)置 2.6.1 屬性的構(gòu)成 2.6.2 屬性的原那么 XML的屬性是目的志的屬性,依靠于標(biāo)志而存在的,屬性可以為標(biāo)志添加附加信息。屬性的構(gòu)成屬性的構(gòu)成 屬性稱號和標(biāo)志稱號的命名規(guī)那么一樣,可以由字母、數(shù)字、下劃線“_、點“.或連字符“-組成,但必需以字母或下劃線開頭。屬性值是一個用單引號或雙引號括起來的字符串,假設(shè)屬性值中需求包含特殊字符“、“&、“和“,那么必需運用字符援用或?qū)嶓w援用。屬性的稱號和屬性值由等號

13、銜接。例如: 標(biāo)志內(nèi)容 屬性是由屬性名和屬性值構(gòu)成的,是一個名值對,屬性必需在非空標(biāo)志的開場標(biāo)志和空標(biāo)志中聲明。其格式為: 屬性稱號和標(biāo)志稱號的命名規(guī)那么一樣,可以由字母、數(shù)字、下劃線“_、點“.或連字符“-組成,但必需以字母或下劃線開頭。屬性值是一個用單引號或雙引號括起來的字符串,假設(shè)屬性值中需求包含特殊字符“、“&、“和“,那么必需運用字符援用或?qū)嶓w援用。屬性的稱號和屬性值由等號銜接。例如: 屬性的原那么屬性的原那么 屬性不表達(dá)數(shù)據(jù)的構(gòu)造,只是數(shù)據(jù)的附加信息。設(shè)置屬性的一個最根本原那么:不要由于頻繁運用屬性而破壞XML的數(shù)據(jù)構(gòu)造。例如: 這個構(gòu)培育不是很好。假設(shè)都設(shè)置成子標(biāo)志,構(gòu)培

14、育會變得明晰。如: 男 25 175 65 1234567 12345678987654321 2.7 注釋設(shè)置注釋設(shè)置 1 注釋是對文檔內(nèi)容和構(gòu)造的解釋,XML文件的注釋和HTML文件的注釋一樣,以“終了。XML文件的注釋不屬于文件的內(nèi)容,所以,XML解析器會忽略注釋部分的內(nèi)容,不做分析處置。例如: 注釋不是XML的標(biāo)志,它們可以放在根標(biāo)志之前或之后,但是注釋不能位于XML聲明之前。 2.7 注釋設(shè)置注釋設(shè)置 2在XML中運用注釋該當(dāng)留意一下幾點: 注釋不能出如今XML聲明之前。 注釋不能出如今標(biāo)志中。 注釋中不能出現(xiàn)延續(xù)兩個連字符,即“-,如:。 注釋中可包含標(biāo)志,但標(biāo)志中不能包含“-,被

15、包含的標(biāo)志 解析時將被忽略。 注釋不能嵌套 。2.8 稱號空間稱號空間 稱號空間用來區(qū)分一樣稱號標(biāo)志 ,XML的稱號空間分為有前綴稱號空間和無前綴稱號空間。 2.8.1 有前綴和無前綴的稱號空間 2.8.2 標(biāo)志中聲明稱號空間 2.8.3 稱號空間的作用域 2.8.4 稱號空間的名字 有前綴和無前綴的稱號空間有前綴和無前綴的稱號空間1 1 聲明有前綴的稱號空間: xmlns:前綴 = 稱號空間的名字 xmlns = 稱號空間的名字 聲明無前綴的稱號空間: 例如: xmlns:zs = jilinxmlns = 12345 有前綴和無前綴的稱號空間有前綴和無前綴的稱號空間2 2 假設(shè)兩個稱號空間

16、的名字一樣,那么稱這兩個稱號空間一樣。也就是說,對于有前綴的稱號空間,假設(shè)前綴一樣,稱號空間的名字不同,它們也是不同的稱號空間;前綴不同,稱號空間的名字一樣,它們也是一樣的稱號空間。前綴的作用只是方便援用稱號空間而已。 留意:稱號空間的前綴不能用“xml?!皒mlns與“:以及“:與前綴之 間不能有空格。 標(biāo)志中聲明稱號空間標(biāo)志中聲明稱號空間 稱號空間是經(jīng)過在標(biāo)志中聲明稱號空間來建立的,在標(biāo)志中聲明稱號空間必需在標(biāo)志的“開場標(biāo)志里聲明,而且稱號空間的聲明必需放在開場標(biāo)志中標(biāo)志稱號的后面,例如: 出生日期:1980.10.10 出生日期:1981.11.12 一個標(biāo)志中可以聲明多個稱號空間,聲明

17、稱號空間并不代表一定要運用稱號空間。 稱號空間的作用域稱號空間的作用域 稱號空間的作用域就是該稱號空間的作用范圍,一個稱號空間的作用范圍是聲明稱號空間的標(biāo)志及其子孫標(biāo)志,除非子孫標(biāo)志又聲明了稱號空間。下面經(jīng)過一個例子加以闡明: apple orange banaba 其中紅色為稱號空間“ns1的作用范圍,藍(lán)色為稱號空間“ns2的作用范圍。稱號空間的名字稱號空間的名字 稱號空間的名字可以是恣意的,目的是區(qū)分一樣名字的標(biāo)志。W3C引薦運用一致資源標(biāo)識符Uniform Resource Identifier,URI作為稱號空間名字。一個URI是一個具有一定語法、用來標(biāo)識資源的字符串。它可以是一個主機(jī)

18、域名、一個文件絕對途徑或一個地址等。在一個XML文件中,一個URI不用是有效的,由于它的作用只是用來區(qū)分標(biāo)志的名字。例如: ““abc.abc 它們都是合法的名字,但不一定都是有效的地址。2.9 區(qū)分大小寫區(qū)分大小寫 在XML的規(guī)范中規(guī)定,XML文件中的標(biāo)志、屬性、稱號空間等的名字是嚴(yán)厲區(qū)分大小寫的。例如,“book與“Book是兩個不同的名字,“!cdata也不是CDATA段的開場標(biāo)志。一個例子: XML文件中名字區(qū)分大小寫。 用IE6.0翻開該XML文件會出現(xiàn)如下圖的結(jié)果 :2.10 標(biāo)志的子標(biāo)志的關(guān)系標(biāo)志的子標(biāo)志的關(guān)系 一個規(guī)范的XML文件必需有且只需一個跟標(biāo)志,其他標(biāo)志都必需封裝在根標(biāo)志中,稱為根標(biāo)志的子標(biāo)志,一個標(biāo)志的子標(biāo)志的子標(biāo)志稱為該標(biāo)志的孫標(biāo)志。一個標(biāo)志的子標(biāo)志也稱為該標(biāo)志的1級子標(biāo)志,孫標(biāo)志稱為該標(biāo)志的2級子標(biāo)志,以此類推。一個XML文件的標(biāo)志該當(dāng)構(gòu)成樹狀的構(gòu)造。如下圖: 根標(biāo)志根標(biāo)志的子標(biāo)志根標(biāo)志的子標(biāo)志根標(biāo)志的子標(biāo)志根標(biāo)記的孫標(biāo)記根標(biāo)記的3級子標(biāo)記根標(biāo)記的孫標(biāo)記根標(biāo)記的孫標(biāo)記根標(biāo)記的孫標(biāo)記根標(biāo)記的孫標(biāo)記根標(biāo)記的孫標(biāo)記根標(biāo)記的孫標(biāo)記根標(biāo)記的孫標(biāo)記根標(biāo)記的3級子標(biāo)記根標(biāo)記的3級子標(biāo)記DomParse.java import org.w3c.dom.*;import javax

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論