探究DOM API用法
本文向大家簡(jiǎn)單介紹一下DOM API的概念,DOM API被定義為一系列CORBAIDL接口(請(qǐng)參見(jiàn)資源)。它用一個(gè)抽象樹(shù)來(lái)描述一個(gè)經(jīng)過(guò)語(yǔ)法分析的XML文檔。之所以說(shuō)它是抽象的,這是因?yàn)橹挥羞@些接口反映出樹(shù)形的結(jié)構(gòu)。
開(kāi)啟 DOM API 之門(mén)
XML是現(xiàn)在非常流行的數(shù)據(jù)表達(dá)格式,其特點(diǎn)是可移植、與平臺(tái)無(wú)關(guān)以及具有直接可讀的形式。DocumentObjectModel(DOM)是應(yīng)用程序存取XML數(shù)據(jù)的接口。不幸的是,DOM是一種相當(dāng)復(fù)雜的API,因而較難以迅速掌握。但是,如能知道所存取數(shù)據(jù)的DTD,這時(shí)就容易得多了。本文將通過(guò)若干簡(jiǎn)單步驟,對(duì)如何利用Java版的DOM來(lái)存取XML數(shù)據(jù)進(jìn)行介紹。
可擴(kuò)展標(biāo)記語(yǔ)言(XML)已經(jīng)相當(dāng)普及,它是一種可移植的、與平臺(tái)無(wú)關(guān)的且直接可讀的數(shù)據(jù)格式。許多軟件廠商均已宣稱“支持XML”,這通常是指他們的軟件產(chǎn)品將生成或用到XML格式的數(shù)據(jù)。
XML也同樣被看作是企業(yè)間交流數(shù)據(jù)的通用格式。它允許企業(yè)在XML文檔類型定義(即DTD)的基礎(chǔ)上對(duì)所交流的數(shù)據(jù)取得一致。這些DTD文件獨(dú)立于企業(yè)中所使用的數(shù)據(jù)類型。
許多標(biāo)準(zhǔn)化組織正在致力于規(guī)范交流數(shù)據(jù)的DTD。其中一個(gè)例子就是國(guó)際出版通信委員會(huì)(請(qǐng)參見(jiàn)資源)已經(jīng)定義了一個(gè)XML的DTD,這個(gè)DTD可以使“所傳輸?shù)膸в袠?biāo)記的新聞信息能夠輕松地轉(zhuǎn)換為電子出版格式”。這些市場(chǎng)標(biāo)準(zhǔn)將使不同應(yīng)用程序之間能夠在未事先確定方式的情況下進(jìn)行數(shù)據(jù)的交換。
由W3C定義的XML規(guī)范(請(qǐng)參見(jiàn)資源)中規(guī)定了XML的語(yǔ)法和語(yǔ)義。一個(gè)XML文檔必須經(jīng)過(guò)語(yǔ)法分析才能被處理。如果每個(gè)程序都必須先對(duì)XML進(jìn)行語(yǔ)法分析再去處理,那將是非常困難的,因?yàn)榻o出這種語(yǔ)言的語(yǔ)法和語(yǔ)義是很復(fù)雜的。W3C已經(jīng)定義了文檔對(duì)象模型(DOM)(請(qǐng)參見(jiàn)資源)來(lái)解決這一問(wèn)題。DOM是一個(gè)針對(duì)XML數(shù)據(jù)的應(yīng)用編程接口。大部分XML語(yǔ)法分析器都為所分析的XML生成一個(gè)DOM描述。
DOM標(biāo)準(zhǔn)
DOM API被定義為一系列CORBAIDL接口(請(qǐng)參見(jiàn)資源)。它用一個(gè)抽象樹(shù)來(lái)描述一個(gè)經(jīng)過(guò)語(yǔ)法分析的XML文檔。之所以說(shuō)它是抽象的,這是因?yàn)橹挥羞@些接口反映出樹(shù)形的結(jié)構(gòu)。而用來(lái)實(shí)現(xiàn)抽象樹(shù)的實(shí)際數(shù)據(jù)結(jié)構(gòu)和算法不必是樹(shù)形結(jié)構(gòu)。
由于DOM API是以CORBAIDL形式規(guī)定的,所以它被許多編程語(yǔ)言所支持,包括Java語(yǔ)言。我們假定本文中使用標(biāo)準(zhǔn)的Java語(yǔ)言。DOM規(guī)范給出了詳細(xì)的基于Java接口。
DOM第一層規(guī)范是在1998年被采用的。它留下一些保留部分,以根據(jù)后來(lái)的實(shí)踐經(jīng)驗(yàn)來(lái)進(jìn)一步擴(kuò)充。DOM第二層規(guī)范在第一層的基礎(chǔ)上增加了對(duì)XML命名空間、文檔創(chuàng)建、視圖和式樣單等內(nèi)容的支持。第二層規(guī)范尚有待公眾評(píng)價(jià)。雖然從技術(shù)上而言還沒(méi)有最終完成,但是也已經(jīng)相當(dāng)穩(wěn)定。
對(duì)于一個(gè)XML文檔,許多XML語(yǔ)法分析器均可供Java程序使用,以生成DOM的第一層描述。因此,這里的代碼只假定為基于DOM的第一層子集。
【編輯推薦】
- 技術(shù)分享 如何獲取Dom元素的X/Y坐標(biāo)
- JQuery創(chuàng)建DOM元素方法解析
- JavaScript獲取HTML DOM節(jié)點(diǎn)元素詳解
- JavaScript和DOM輕松實(shí)現(xiàn)數(shù)據(jù)訪問(wèn)
- HTML DOM與XML DOM的區(qū)別與聯(lián)系探究




















