版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度農(nóng)村土地經(jīng)營權(quán)流轉(zhuǎn)監(jiān)管服務(wù)合同
- 二零二五年度員工培訓(xùn)與職業(yè)發(fā)展簽約合同
- 二零二五年度智慧教育平臺合作承諾合同集4篇
- 2025年度臨街商店攤位出租合同含物業(yè)管理費(fèi)及維修基金繳納3篇
- 2025年度皮革制品環(huán)保材料研發(fā)與應(yīng)用合同4篇
- 二零二五年度臨時用電安全設(shè)施維護(hù)保養(yǎng)合同文本2篇
- 2025年度產(chǎn)品代理合同:智能家電全系列產(chǎn)品代理權(quán)轉(zhuǎn)讓
- 2025版內(nèi)蒙古自治區(qū)農(nóng)牧廳農(nóng)業(yè)產(chǎn)業(yè)鏈延伸與價值鏈提升合同4篇
- 二零二五年度臨時用電安全培訓(xùn)服務(wù)合同范本
- 2025年度食品添加劑研發(fā)項目配料保密合同范本
- 《霍爾效應(yīng)測量磁場》課件
- 30題紀(jì)檢監(jiān)察位崗位常見面試問題含HR問題考察點(diǎn)及參考回答
- 高考作文復(fù)習(xí)任務(wù)驅(qū)動型作文的審題立意課件73張
- 詢價函模板(非常詳盡)
- 《AI營銷畫布:數(shù)字化營銷的落地與實(shí)戰(zhàn)》
- 麻醉藥品、精神藥品、放射性藥品、醫(yī)療用毒性藥品及藥品類易制毒化學(xué)品等特殊管理藥品的使用與管理規(guī)章制度
- 一個28歲的漂亮小媳婦在某公司打工-被老板看上之后
- 乘務(wù)培訓(xùn)4有限時間水上迫降
- 2023年低年級寫話教學(xué)評語方法(五篇)
- DB22T 1655-2012結(jié)直腸外科術(shù)前腸道準(zhǔn)備技術(shù)要求
- GB/T 16474-2011變形鋁及鋁合金牌號表示方法
評論
0/150
提交評論