XML基本概念匯總課件_第1頁
XML基本概念匯總課件_第2頁
XML基本概念匯總課件_第3頁
XML基本概念匯總課件_第4頁
XML基本概念匯總課件_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第2章XML基本概念李慧芬lhfen@B5-105第2章XML基本概念李慧芬第2章XML基本概念2.1文檔2.2元素2.3屬性2.4實(shí)體第2章XML基本概念2.1文檔2.1文檔<?xmlversion="1.0"encoding="gb2312"?><!--這是一個xml文檔--><persons><person><name>小張</name><teltype="office">1234567</tel></person><person><name>小王</name><teltype="home">5555555</tel></person></persons>2.1文檔<?xmlversion="1.0"encoXML聲明XML聲明:說明這是一個XML文檔,包含了XML文件的相關(guān)信息。格式:"<?xml"開頭,以"?>"結(jié)束例:<?xmlversion="1.0"encoding="UFT-8"?>注意:應(yīng)當(dāng)在文件的第一行,在其前面不能有空白或其他的任何字符。“<”、“?”和“xml”之間以及“?”和“>”之間不要有空格。XML聲明XML聲明:說明這是一個XML文檔,包含了XML文XML聲明中的版本屬性版本屬性:version

目前,版本屬性的值只可取1.0。 <?xmlversion="1.0"?>XML聲明可以只包含版本屬性。如果聲明中還包含有其它屬性,版本屬性必須排在其它屬性之前。XML聲明中的版本屬性版本屬性:versionXML聲明中的編碼屬性編碼屬性:encoding規(guī)定了該XML文件采用編碼的字集,默認(rèn)值是UTF-8。常用可選的字符集有:

GB2312或GBK:簡體中文編碼。

BIG5:繁體中文編碼。

UTF-8:壓縮Unicode編碼XML聲明中的編碼屬性編碼屬性:encodingXML聲明中的編碼屬性如果XML文檔使用中文標(biāo)記或出現(xiàn)中文內(nèi)容,XML聲明應(yīng)使用“GB2312”編碼:<?xmlversion=”1.0”encoding=”gb2312”?><persons><person><name>小李</name><tel>1234567</tel></person></persons>XML聲明中的編碼屬性如果XML文檔使用中文標(biāo)記或出現(xiàn)中文內(nèi)XML聲明中的編碼屬性如果XML文檔使用中文標(biāo)記或出現(xiàn)中文內(nèi)容,XML聲明應(yīng)使用“GB2312”編碼:<?xmlversion=”1.0”encoding=”UTF-8”?><persons><person><name>小李</name><tel>1234567</tel></person></persons>XML聲明中的編碼屬性如果XML文檔使用中文標(biāo)記或出現(xiàn)中文內(nèi)XML聲明中的獨(dú)立屬性獨(dú)立屬性:

standalone說明XML文件是否是完全獨(dú)立的,即是否與其他文件相關(guān)聯(lián)。屬性可以取值為“yes”或“no”,默認(rèn)值是“no”。例:<?xmlversion=”1.0”standalone=”yes”?>XML聲明中的獨(dú)立屬性獨(dú)立屬性:standalone2.1.1處理指令處理指令(ProcessingInstruction,PI)允許文檔包含應(yīng)用程序的指令語句,用來給處理XML文檔的應(yīng)用程序提供信息。格式:<?

處理指令名處理指令信息?><?xmlversion="1.0"?><?worddocument="test2.doc"?><test></test>2.1.1處理指令處理指令(ProcessingInst2.1.2文檔類型說明XML文檔類型說明(DocumentTypeDeclaration)是XML文檔符合有效性的一個基本要求。<?xmlversion="1.0"?><!DOCTYPEbook[<!ELEMENTbook(name,price)><!ELEMENTname(#PCDATA)><!ELEMENTprice(#PCDATA)>]><book><name>XML</name><price>28.00</price></book>2.1.2文檔類型說明XML文檔類型說明(Documen2.1.3

注釋添加注釋,增強(qiáng)程序的可讀性和可維護(hù)性。注釋的格式:<!--注釋內(nèi)容-->例:

<?xmlversion=”1.0”?><!--只含有根標(biāo)記的XML文件--><root></root>注意:

注釋不能出現(xiàn)在XML聲明之前。注釋不能出現(xiàn)在標(biāo)記中。注釋中不能出現(xiàn)連續(xù)兩個連字符,即“—”。注釋不能嵌套。

結(jié)束標(biāo)志前不能使用連字符“-”。2.1.3注釋添加注釋,增強(qiáng)程序的可讀性和可維護(hù)性。例:2.1.4文檔結(jié)構(gòu)XML文檔具有嚴(yán)格的格式,可以準(zhǔn)確地轉(zhuǎn)換成樹狀結(jié)構(gòu)(TreeStructure)。<?xmlversion="1.0"encoding="gb2312"?><persons><persion><name>小張</name><sex>male</sex><birthday>1983.10.25</birthday></person><person><name>小王</name><sex>female</sex><birthday>2003.10.20</birthday></person></persons>personspersonname:小張sex:malebirthday:1983.10.25personname:小王sex:femalebirthday:2003.10.202.1.4文檔結(jié)構(gòu)XML文檔具有嚴(yán)格的格式,可以準(zhǔn)確地轉(zhuǎn)換2.1.5良構(gòu)性與有效性XML文檔的基本規(guī)則:整個XML文檔有且僅有一個根元素。每個元素都由開始標(biāo)簽和結(jié)束標(biāo)簽組成。Eg:<abc></abc>元素與元素之間合理嵌套。元素的屬性必須有屬性值,屬性值用引號(單引號和雙引號都可以)引起來。實(shí)體引用必須書寫正確。各種指令必須正確地編寫和放置在文檔的正確位置。2.1.5良構(gòu)性與有效性XML文檔的基本規(guī)則:2.1.5良構(gòu)性與有效性可將XML分為3種類型:格式不良好(malformed)的XML文檔格式良好(well-formed)但無效的XML文檔有效的(valid)XML文檔:2.1.5良構(gòu)性與有效性可將XML分為3種類型:格式不良好的XML文檔完全沒有遵守XML文檔基本規(guī)則的XML文檔:<!--一個簡單的XML文件--><?xmlversion=”1.1”?><fruits> <fruit> <name>orange<price> </name>1.2</price></fruit><fruit><name>banana<price></name>1.8</price></fruit></Fruits>格式不良好的XML文檔完全沒有遵守XML文檔基本規(guī)則的XML格式良好但無效的XML文檔遵守了XML文檔的基本規(guī)則;沒有使用DTD或Shema定義語義約束,或使用了語義約束,但沒有遵守所定義的語義約束的XML文檔。<?xmlversion=”1.0”?><!--一個簡單的XML文件--><fruits> <fruit> <name>orange</name> <price>1.2</price> </fruit> <fruit> <name>banana</name> <price>1.8</price> </fruit></fruits>格式良好但無效的XML文檔遵守了XML文檔的基本規(guī)則;<?x有效的XML文檔遵守了XML文檔那個基本規(guī)則;使用DTD或Schema定義語義約束,而且完全遵守了DTD或Schema定義的約束的XML文檔。<?xmlversion=”1.0”?><!--一個簡單的XML文件--><!--添加DTD約束--><!DOCTYPEfruits[ <!ELEMENTfruits(fruit)*> <!ELEMENTfruit(name,price)> <!ELEMENTname(#PCDATA)> <!ELEMENTprice(#PCDATA)>]><fruits> <fruit> <name>orange</name> <price>1.2</price> </fruit> <fruit> <name>banana</name> <price>1.8</price> </fruit></fruits>有效的XML文檔遵守了XML文檔那個基本規(guī)則;<?xmlv練習(xí)修改下面的XML文件中的錯誤:練習(xí)修改下面的XML文件中的錯誤:2.2元素XML元素:由開始標(biāo)記、結(jié)束標(biāo)記以及位于開始標(biāo)記、結(jié)束標(biāo)記之間的內(nèi)容構(gòu)成。<標(biāo)記名>

內(nèi)容</標(biāo)記名>

元素內(nèi)容:文本數(shù)據(jù)、子元素

例:

<name>

小王<sex>男</sex></name>2.2元素XML元素:由開始標(biāo)記、結(jié)束標(biāo)記以及位于開始標(biāo)記標(biāo)記名元素的標(biāo)記名可以任意命名,但是必須符合下面的規(guī)則:標(biāo)記名必須以字母或者下劃線(_)開始,后繼字符可以是一個或者多個數(shù)字、字母、句點(diǎn)(.)、連字符(-)和下劃線(_)。標(biāo)記名不能包含冒號(:),冒號被用于定義名稱空間。標(biāo)簽名不能以字符xml(任意大小寫字母組合XML、Xml)開始,(為將來版本的標(biāo)準(zhǔn)化而保留的)。如果XML文件采用GB2312等編碼,標(biāo)記的名稱還可以包含漢字及其它多種語言中的文字。例:合法的標(biāo)記名:<name>,<Name2>,<_name>,<user-name>,<>,<姓名>標(biāo)記名元素的標(biāo)記名可以任意命名,但是必須符合下面的規(guī)則:例:注意:XML文檔嚴(yán)格區(qū)分大小寫,因此開始標(biāo)簽和標(biāo)簽的標(biāo)簽名必須絕對相同,大小寫也要完全一致。標(biāo)簽名不能包含<、>、,、$等符號。標(biāo)簽名不能包含空格。例:錯誤的標(biāo)記名:<name$>,<<name>>,<2name>,<user:name>,<姓名>注意:XML文檔嚴(yán)格區(qū)分大小寫,因此開始標(biāo)簽和標(biāo)簽的標(biāo)簽名必嵌套子元素XML允許無限深度地嵌套子元素,只要保證元素之間合理嵌套即可。<Y-City><X-Street><C-Building> <B-Floor>

<A-House> Thenameofthishouse</A-House></B-Floor></C-Building><X-Street><Y-City><Y-City><X-Street><C-Building> <B-Floor>

<A-House> Thenameofthishouse</A-House></C-Building></B-Floor><X-Street><Y-City>嵌套子元素XML允許無限深度地嵌套子元素,只要保證元素之間合空元素空元素:不包含任何內(nèi)容的元素。空元素不可以包括子元素;空元素沒有元素內(nèi)容。<標(biāo)記名></標(biāo)記名>

可簡寫成:<空標(biāo)記名稱/>

例: <book></book><book/>空元素空元素:不包含任何內(nèi)容的元素。注意在IE中自動判斷開始標(biāo)記和結(jié)束標(biāo)記之間是否有字符,如果沒有字符或只有空格字符,自動變成空元素標(biāo)記形式。例:空元素可以包括屬性,且可包括多個屬性:例:<bookname="xml"price="28.00"/><?xmlversion="1.0"?><root><book/><book></book><book></book></root>注意在IE中自動判斷開始標(biāo)記和結(jié)束標(biāo)記之間是否有字符,如果沒字符數(shù)據(jù)XML處理程序會處理開始標(biāo)記和結(jié)束標(biāo)記之間的任意字符:例:下面三個元素里包括不同的內(nèi)容:若文本字符串中包含一些有特殊意義的字符,如"<","&"等,就會引起文檔混亂:

<book>ComputerNetworks</book>

<book>ComputerNetworks</book><book>ComputerNetworks</book><?xmlversion="1.0"encoding="GBK"?><邏輯表達(dá)式><!--字符串內(nèi)容中有特殊字符--><比較符>1+1<3</比較符></邏輯表達(dá)式>解決辦法:使用實(shí)體引用:用另一個特殊標(biāo)記來代替這些特殊符號使用CDATA標(biāo)記:將整段文檔定義成字符串字符數(shù)據(jù)XML處理程序會處理開始標(biāo)記和結(jié)束標(biāo)記之間的任意字符實(shí)體引用實(shí)體引用所代表的符號說明<<小于符號>>大于符號&&and符號''英文單引號""英文雙引號<?xmlversion="1.0"encoding="GBK"?><邏輯表達(dá)式><!—下面用實(shí)體應(yīng)用表示特殊字符--><比較符>1+1<3</比較符></邏輯表達(dá)式>注意:使用實(shí)體引用的格式相當(dāng)固定:總是以“&”開始,以“;”結(jié)束,不要忘記實(shí)體引用后面的英文分號。實(shí)體引用實(shí)體引用所代表的符號說明<<小于符號>>CDATA標(biāo)記在特殊標(biāo)記CDATA下,XML解析器對其中的內(nèi)容不進(jìn)行解析。格式:<![CDATA內(nèi)容]]>“<![CDATA[”和“]]>”各字符間不能有空格符內(nèi)容可以包括任意字符。<?xmlversion="1.0"encoding="GBK"?><邏輯表達(dá)式><比較符><![CDATA[1+1<3]]></比較符></邏輯表達(dá)式>注意:CDATA段中不可以嵌套另一個CDATA段。CDATA標(biāo)記在特殊標(biāo)記CDATA下,XML解析器對其中的內(nèi)CDATA標(biāo)記<?xmlversion="1.0"encoding="GB2312"?><booklist><![CDATA[<book><name>XML編程原理與實(shí)例教程</name><price>28.00</price></book><book><name>瘋狂XML講義</name><price>65.00</price></book>]]></booklist>由于XML不會對CDATA標(biāo)記內(nèi)的內(nèi)容進(jìn)行任何解析,因此在CDATA內(nèi)可放置任何內(nèi)容,其中的內(nèi)容永遠(yuǎn)不會出錯。CDATA標(biāo)記<?xmlversion="1.0"enc2.3

屬性屬性是由屬性名和屬性值構(gòu)成。屬性必須在開始標(biāo)記中聲明:<標(biāo)記名屬性列表>標(biāo)記內(nèi)容</標(biāo)記名><空標(biāo)記名

屬性列表

/>屬性名:與標(biāo)記名的命名規(guī)則相同。屬性值:屬性值是一個用單引號或雙引號括起來的字符串。例:<汽車車型="A4"顏色="黑"><輪胎規(guī)格="195/60R15"/></汽車>2.3屬性屬性是由屬性名和屬性值構(gòu)成。例:<汽車車注意XML元素的屬性必須有屬性值,屬性值必

溫馨提示

  • 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

提交評論