java培訓(xùn)之XML基礎(chǔ).ppt_第1頁
java培訓(xùn)之XML基礎(chǔ).ppt_第2頁
java培訓(xùn)之XML基礎(chǔ).ppt_第3頁
java培訓(xùn)之XML基礎(chǔ).ppt_第4頁
java培訓(xùn)之XML基礎(chǔ).ppt_第5頁
已閱讀5頁,還剩45頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、XML基礎(chǔ),XML簡介,XML的背景 1) XML代表擴展的標(biāo)記語言(eXtensible Markup Language); 2) XML由W3C聯(lián)盟發(fā)展維護; 3) XML是一種元語言,可以用來定義其它標(biāo)簽語言; 4) XML沒有定義任何標(biāo)記,它提供了一種工具定義標(biāo)記以及它們之間的結(jié)構(gòu)關(guān)系; 5) XML是一種用于結(jié)構(gòu)化文本交換的標(biāo)記語言; 6) XML代表了內(nèi)容的結(jié)構(gòu)也代表了內(nèi)容本身; 7) XML繼承自SGML(標(biāo)準(zhǔn)標(biāo)記語言)。SGML的前身GML由IBM在1960年發(fā)明,用于描述設(shè)備無關(guān)的文本 8) XML是SGML的子語言,由SGML簡化而來,起初的目的是為Web的結(jié)構(gòu)文檔提供服務(wù)

2、。 9) W3C組織在1998年2月10日發(fā)布XML1.0版,第二個版本發(fā)布于2000年10月9日。 10)XML是分層的樹形結(jié)構(gòu)的自解釋的一種可擴展的標(biāo)記語言。,XML和HTML的關(guān)系,1) 事實上,HTML和XML不能夠進行比較的。因為XML是一種元語言,而HTML是一種定義好的標(biāo)記語言。XML是描述數(shù)據(jù)的語言,HTML是描是數(shù)據(jù)外觀的語言。 2) HTML有一套確定的標(biāo)記。在W3C標(biāo)準(zhǔn)規(guī)范中定義了HTML標(biāo)記的含義并由部分瀏覽器實現(xiàn)了。 3) HTML標(biāo)記非常適合描述人類易讀的可視化文本。 4) HTML定義了許多表現(xiàn)指令用以優(yōu)化在瀏覽器中的顯示。 5) 在HTML標(biāo)記中,數(shù)據(jù)固有的結(jié)構(gòu)

3、丟失了。 6) HTML沒有維持數(shù)據(jù)類型信息的完整性、約束、或?qū)嶓w間的其它關(guān)系,而XML提供了這些特征。,XML的用途,數(shù)據(jù)傳輸?shù)闹虚g件,做為通用文檔格式 1,數(shù)據(jù)交換 2,web服務(wù) 3,內(nèi)容管理 4,web集成 5,充當(dāng)配置文件,XML文件的規(guī)范,XML文檔是一種嚴格規(guī)范的語言,必須按照規(guī)范來寫。 XML文檔的框架結(jié)構(gòu) XML文檔=序言+元素+雜項(可選),XML文件的規(guī)范,1)序言 序言=(XML聲明)+(雜項)+(文檔類型聲明) XML聲明 如: 文檔類型聲明 規(guī)定元素的結(jié)構(gòu)和屬性列表的取值 ,XML文件的規(guī)范,2)元素 空元素 非空元素 內(nèi)容 內(nèi)容=(子元素|字符數(shù)據(jù)|字符數(shù)據(jù)段|引

4、用|處理指令|注釋)* 字符數(shù)據(jù) 字符數(shù)據(jù)中,不能含有支持刪除、修改、重新排列等多種功能; 缺點:將整個文檔調(diào)入內(nèi)存(包括無用的節(jié)點),浪費時間和空間; 使用場合:一旦解析了文檔還需多次訪問這些數(shù)據(jù);硬件資源充足(內(nèi)存、CPU),DOM解析是將整個的XML文檔元素結(jié)構(gòu)讀入內(nèi)存,由根元素向下形成子元素分級樹狀關(guān)系。 DOM的解析 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document

5、 document = builder.parse(name); 以上三行代碼,使用來生成Document對象的,Document對象就代表了讀入內(nèi)存后結(jié)構(gòu)化的XML文檔。,使用Document對象的getDocumentElement()方法獲得子節(jié)點,可以通過不斷的迭代便利所有節(jié)點,這些節(jié)點就代表了元素,從根元素開始一直到最內(nèi)層的子元素。 getElementsByTagName(String tagname) 這個方法可以通過元素的名來或得該元素內(nèi)層元素,也就是或得了這個節(jié)點的所有子節(jié)點(NodeList)NodeList的方法getLength()(列表中的節(jié)點數(shù)),通過循環(huán)使用 No

6、de item(int index) (返回集合中的第 index 個項)方法,來獲得每個子節(jié)點。,XML文檔的解析,SAX:事件機制驅(qū)動。在遇到相應(yīng)的節(jié)點時,會發(fā)出一個事件,當(dāng)解析器發(fā)現(xiàn)元素開始、元素結(jié)束、文本、文檔的開始或結(jié)束等時,發(fā)送事件,程序員編寫響應(yīng)這些事件的代碼,保存數(shù)據(jù)。 優(yōu)點: 不用事先調(diào)入整個文檔,占用資源少; SAX解析器代碼小,適于下載 缺點: 不是持久的;事件過后,若沒保存數(shù)據(jù),那么數(shù)據(jù)就丟了,比較消耗時間; 只能順序處理,不能選擇讀取。不支持文檔的創(chuàng)建和修改。 無狀態(tài)性;從事件中只能得到文本,但不知該文本屬于哪個元素;,SAX處理流程, UNIX color 分析這個

7、代碼片斷的 SAX 處理器一般情況下將產(chǎn)生以下事件: Start document Start element (samples) Characters (white space) Start element (server) Characters (UNIX) End element (server) Characters (white space) Start element (monitor) Characters (color) End element (monitor) Characters (white space) End element (samples),SAX 處理涉及以下步驟: 創(chuàng)建一個事件處理程序。 創(chuàng)建 SAX 解析器。 向解析器分配事件處理程序。 解析文檔,同時向事件處理程序發(fā)送每個事件。,使用SAX解析XML文檔,需要先有SAXParserFactory對象,他的對象是通過自身的靜態(tài)方法newInstance(),然后再通過SAXParserFactory對象來創(chuàng)建SAXParser對象,使用SAXParser對象的 parse(File f,DefaultHandler handler),DefaultHandler是用來處

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論