![java培訓(xùn)之XML基礎(chǔ).ppt_第1頁(yè)](http://file1.renrendoc.com/fileroot2/2020-1/7/eb108cc7-c272-4ff3-8b94-a59750a5ae6e/eb108cc7-c272-4ff3-8b94-a59750a5ae6e1.gif)
![java培訓(xùn)之XML基礎(chǔ).ppt_第2頁(yè)](http://file1.renrendoc.com/fileroot2/2020-1/7/eb108cc7-c272-4ff3-8b94-a59750a5ae6e/eb108cc7-c272-4ff3-8b94-a59750a5ae6e2.gif)
![java培訓(xùn)之XML基礎(chǔ).ppt_第3頁(yè)](http://file1.renrendoc.com/fileroot2/2020-1/7/eb108cc7-c272-4ff3-8b94-a59750a5ae6e/eb108cc7-c272-4ff3-8b94-a59750a5ae6e3.gif)
![java培訓(xùn)之XML基礎(chǔ).ppt_第4頁(yè)](http://file1.renrendoc.com/fileroot2/2020-1/7/eb108cc7-c272-4ff3-8b94-a59750a5ae6e/eb108cc7-c272-4ff3-8b94-a59750a5ae6e4.gif)
![java培訓(xùn)之XML基礎(chǔ).ppt_第5頁(yè)](http://file1.renrendoc.com/fileroot2/2020-1/7/eb108cc7-c272-4ff3-8b94-a59750a5ae6e/eb108cc7-c272-4ff3-8b94-a59750a5ae6e5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、XML基礎(chǔ),XML簡(jiǎn)介,XML的背景 1) XML代表擴(kuò)展的標(biāo)記語(yǔ)言(eXtensible Markup Language); 2) XML由W3C聯(lián)盟發(fā)展維護(hù); 3) XML是一種元語(yǔ)言,可以用來(lái)定義其它標(biāo)簽語(yǔ)言; 4) XML沒(méi)有定義任何標(biāo)記,它提供了一種工具定義標(biāo)記以及它們之間的結(jié)構(gòu)關(guān)系; 5) XML是一種用于結(jié)構(gòu)化文本交換的標(biāo)記語(yǔ)言; 6) XML代表了內(nèi)容的結(jié)構(gòu)也代表了內(nèi)容本身; 7) XML繼承自SGML(標(biāo)準(zhǔn)標(biāo)記語(yǔ)言)。SGML的前身GML由IBM在1960年發(fā)明,用于描述設(shè)備無(wú)關(guān)的文本 8) XML是SGML的子語(yǔ)言,由SGML簡(jiǎn)化而來(lái),起初的目的是為Web的結(jié)構(gòu)文檔提供服務(wù)
2、。 9) W3C組織在1998年2月10日發(fā)布XML1.0版,第二個(gè)版本發(fā)布于2000年10月9日。 10)XML是分層的樹形結(jié)構(gòu)的自解釋的一種可擴(kuò)展的標(biāo)記語(yǔ)言。,XML和HTML的關(guān)系,1) 事實(shí)上,HTML和XML不能夠進(jìn)行比較的。因?yàn)閄ML是一種元語(yǔ)言,而HTML是一種定義好的標(biāo)記語(yǔ)言。XML是描述數(shù)據(jù)的語(yǔ)言,HTML是描是數(shù)據(jù)外觀的語(yǔ)言。 2) HTML有一套確定的標(biāo)記。在W3C標(biāo)準(zhǔn)規(guī)范中定義了HTML標(biāo)記的含義并由部分瀏覽器實(shí)現(xiàn)了。 3) HTML標(biāo)記非常適合描述人類易讀的可視化文本。 4) HTML定義了許多表現(xiàn)指令用以優(yōu)化在瀏覽器中的顯示。 5) 在HTML標(biāo)記中,數(shù)據(jù)固有的結(jié)構(gòu)
3、丟失了。 6) HTML沒(méi)有維持?jǐn)?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文檔是一種嚴(yán)格規(guī)范的語(yǔ)言,必須按照規(guī)范來(lái)寫。 XML文檔的框架結(jié)構(gòu) XML文檔=序言+元素+雜項(xiàng)(可選),XML文件的規(guī)范,1)序言 序言=(XML聲明)+(雜項(xiàng))+(文檔類型聲明) XML聲明 如: 文檔類型聲明 規(guī)定元素的結(jié)構(gòu)和屬性列表的取值 ,XML文件的規(guī)范,2)元素 空元素 非空元素 內(nèi)容 內(nèi)容=(子元素|字符數(shù)據(jù)|字符數(shù)據(jù)段|引
4、用|處理指令|注釋)* 字符數(shù)據(jù) 字符數(shù)據(jù)中,不能含有支持刪除、修改、重新排列等多種功能; 缺點(diǎn):將整個(gè)文檔調(diào)入內(nèi)存(包括無(wú)用的節(jié)點(diǎn)),浪費(fèi)時(shí)間和空間; 使用場(chǎng)合:一旦解析了文檔還需多次訪問(wèn)這些數(shù)據(jù);硬件資源充足(內(nèi)存、CPU),DOM解析是將整個(gè)的XML文檔元素結(jié)構(gòu)讀入內(nèi)存,由根元素向下形成子元素分級(jí)樹狀關(guān)系。 DOM的解析 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document
5、 document = builder.parse(name); 以上三行代碼,使用來(lái)生成Document對(duì)象的,Document對(duì)象就代表了讀入內(nèi)存后結(jié)構(gòu)化的XML文檔。,使用Document對(duì)象的getDocumentElement()方法獲得子節(jié)點(diǎn),可以通過(guò)不斷的迭代便利所有節(jié)點(diǎn),這些節(jié)點(diǎn)就代表了元素,從根元素開始一直到最內(nèi)層的子元素。 getElementsByTagName(String tagname) 這個(gè)方法可以通過(guò)元素的名來(lái)或得該元素內(nèi)層元素,也就是或得了這個(gè)節(jié)點(diǎn)的所有子節(jié)點(diǎn)(NodeList)NodeList的方法getLength()(列表中的節(jié)點(diǎn)數(shù)),通過(guò)循環(huán)使用 No
6、de item(int index) (返回集合中的第 index 個(gè)項(xiàng))方法,來(lái)獲得每個(gè)子節(jié)點(diǎn)。,XML文檔的解析,SAX:事件機(jī)制驅(qū)動(dòng)。在遇到相應(yīng)的節(jié)點(diǎn)時(shí),會(huì)發(fā)出一個(gè)事件,當(dāng)解析器發(fā)現(xiàn)元素開始、元素結(jié)束、文本、文檔的開始或結(jié)束等時(shí),發(fā)送事件,程序員編寫響應(yīng)這些事件的代碼,保存數(shù)據(jù)。 優(yōu)點(diǎn): 不用事先調(diào)入整個(gè)文檔,占用資源少; SAX解析器代碼小,適于下載 缺點(diǎn): 不是持久的;事件過(guò)后,若沒(méi)保存數(shù)據(jù),那么數(shù)據(jù)就丟了,比較消耗時(shí)間; 只能順序處理,不能選擇讀取。不支持文檔的創(chuàng)建和修改。 無(wú)狀態(tài)性;從事件中只能得到文本,但不知該文本屬于哪個(gè)元素;,SAX處理流程, UNIX color 分析這個(gè)
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)建一個(gè)事件處理程序。 創(chuàng)建 SAX 解析器。 向解析器分配事件處理程序。 解析文檔,同時(shí)向事件處理程序發(fā)送每個(gè)事件。,使用SAX解析XML文檔,需要先有SAXParserFactory對(duì)象,他的對(duì)象是通過(guò)自身的靜態(tài)方法newInstance(),然后再通過(guò)SAXParserFactory對(duì)象來(lái)創(chuàng)建SAXParser對(duì)象,使用SAXParser對(duì)象的 parse(File f,DefaultHandler handler),DefaultHandler是用來(lái)處
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 銀川油泵項(xiàng)目申請(qǐng)報(bào)告模板參考
- 2025年正在改制行業(yè)深度研究分析報(bào)告
- 助貸服務(wù)合同范本
- 2025年度腳手架施工質(zhì)量監(jiān)督與驗(yàn)收合同
- 2025年度建筑勞務(wù)市場(chǎng)合同示范文本匯編
- 2025年度國(guó)際貨物保險(xiǎn)風(fēng)險(xiǎn)評(píng)估與管理合同
- 別克車銷售合同范本
- 2025年度攪拌樁施工設(shè)備租賃合同
- 化肥包裝租賃合同范例
- 2025年度創(chuàng)意產(chǎn)業(yè)園區(qū)租賃運(yùn)營(yíng)管理合同
- 中央2025年交通運(yùn)輸部所屬事業(yè)單位招聘261人筆試歷年參考題庫(kù)附帶答案詳解
- 2025年上半年上半年重慶三峽融資擔(dān)保集團(tuán)股份限公司招聘6人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 特殊教育學(xué)校2024-2025學(xué)年度第二學(xué)期教學(xué)工作計(jì)劃
- 2025年技術(shù)員個(gè)人工作計(jì)劃例文(四篇)
- (正式版)HGT 22820-2024 化工安全儀表系統(tǒng)工程設(shè)計(jì)規(guī)范
- 2023年衛(wèi)生院崗位大練兵大比武競(jìng)賽活動(dòng)實(shí)施方案
- 2023年浙江省初中學(xué)生化學(xué)競(jìng)賽初賽試卷
- 遼海版小學(xué)五年級(jí)美術(shù)下冊(cè)全套課件
- 專題7閱讀理解之文化藝術(shù)類-備戰(zhàn)205高考英語(yǔ)6年真題分項(xiàng)版精解精析原卷
- 真空泵日常操作標(biāo)準(zhǔn)作業(yè)指導(dǎo)書
- 2022年廣東省10月自考藝術(shù)概論00504試題及答案
評(píng)論
0/150
提交評(píng)論