xml解析技術(shù)分別有什么區(qū)別?相信很多沒有經(jīng)驗(yàn)的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
創(chuàng)新互聯(lián)建站是一家專注于做網(wǎng)站、成都網(wǎng)站制作與策劃設(shè)計(jì),哈巴河網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)十多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:哈巴河等地區(qū)。哈巴河做網(wǎng)站價(jià)格咨詢:13518219792
xml解析技術(shù)有DOM,SAX,STAX,其區(qū)別是DOM處理大型文件時(shí)其性能下降的非常厲害,SAX是事件驅(qū)動(dòng)型的XML解析方式,它順序讀取XML文件,不需要一次全部裝載整個(gè)文件。
1.DOM生成和解析XML文檔
為 XML 文檔的已解析版本定義了一組接口。解析器讀入整個(gè)文檔,然后構(gòu)建一個(gè)駐留內(nèi)存的樹結(jié)構(gòu),然后代碼就可以使用DOM
接口來操作這個(gè)樹結(jié)構(gòu)。優(yōu)點(diǎn):整個(gè)文檔樹在內(nèi)存中,便于操作;支持刪除、修改、重新排列等多種功能;缺點(diǎn):將整個(gè)文檔調(diào)入內(nèi)存(包括無用的節(jié)點(diǎn)),浪費(fèi)時(shí)間和空間;使用場合:一旦解析了文檔還需多次訪問這些數(shù)據(jù);硬件資源充足(內(nèi)存、CPU)。
2.SAX生成和解析XML文檔
為解決DOM的問題,出現(xiàn)了SAX。SAX ,事件驅(qū)動(dòng)。當(dāng)解析器發(fā)現(xiàn)元素開始、元素結(jié)束、文本、文檔的開始或結(jié)束等時(shí),發(fā)送事件,程序員編寫響應(yīng)這些事件的代碼,保存數(shù)據(jù)。優(yōu)點(diǎn):不用事先調(diào)入整個(gè)文檔,占用資
源少;SAX解析器代碼比DOM解析器代碼小,適于Applet,下載。缺點(diǎn):不是持久的;事件過后,若沒保存數(shù)據(jù),那么數(shù)據(jù)就丟了;無狀態(tài)性;從事件中只能得到文本,但不知該文本屬于哪個(gè)元素;使用場合:Applet;只需XML文檔的少量內(nèi)容,很少回頭訪問;機(jī)器內(nèi)存少;
3.DOM4J生成和解析XML文檔
DOM4J 是一個(gè)非常非常優(yōu)秀的Java XML
API,具有性能優(yōu)異、功能強(qiáng)大和極端易用使用的特點(diǎn),同時(shí)它也是一個(gè)開放源代碼的軟件。如今你可以看到越來越多的 Java 軟件都在使用 DOM4J 來讀寫
XML,特別值得一提的是連 Sun 的 JAXM 也在用 DOM4J。
4.JDOM生成和解析XML
為減少DOM、SAX的編碼量,出現(xiàn)了JDOM;優(yōu)點(diǎn):20-80原則,極大減少了代碼量。使用場合:要實(shí)現(xiàn)的功能簡單,如解析、創(chuàng)建等,但在底層,JDOM還是使用SAX(最常用)、DOM、
Xanan文檔。
XML文檔定義有幾種形式?它們之間有何本質(zhì)區(qū)別?解析XML文檔有哪幾種方式?
答:a: 兩種形式 dtd schema,b: 本質(zhì)區(qū)別:schema本身是xml的,可以被XML解析器解析(這也是從DTD上發(fā)展schema的根本目的),c:有DOM,SAX,STAX等
DOM:處理大型文件時(shí)其性能下降的非常厲害。這個(gè)問題是由DOM的樹結(jié)構(gòu)所造成的,這種結(jié)構(gòu)占用的內(nèi)存較多,而且DOM必須在解析文件之前把整個(gè)文檔裝入內(nèi)存,適合對XML的
隨機(jī)訪問
SAX:不現(xiàn)于DOM,SAX是事件驅(qū)動(dòng)型的XML解析方式。它順序讀取XML文件,不需要一次全部裝載整個(gè)文件。當(dāng)遇到像文件開頭,文檔結(jié)束,或者標(biāo)簽開頭與標(biāo)簽結(jié)束時(shí),它會(huì)觸發(fā)一個(gè)
事件,用戶通過在其回調(diào)事件中寫入處理代碼來處理XML文件,適合對XML的順序訪問
看完上述內(nèi)容,你們掌握xml解析技術(shù)分別有什么區(qū)別的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
當(dāng)前標(biāo)題:xml解析技術(shù)分別有什么區(qū)別
文章出自:http://chinadenli.net/article24/gicece.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、面包屑導(dǎo)航、動(dòng)態(tài)網(wǎng)站、移動(dòng)網(wǎng)站建設(shè)、域名注冊、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)