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