新聞中心
本文向大家簡單介紹一下DOM API的概念,DOM API被定義為一系列CORBAIDL接口(請參見資源)。它用一個抽象樹來描述一個經(jīng)過語法分析的XML文檔。之所以說它是抽象的,這是因為只有這些接口反映出樹形的結(jié)構(gòu)。

開啟 DOM API 之門
XML是現(xiàn)在非常流行的數(shù)據(jù)表達(dá)格式,其特點是可移植、與平臺無關(guān)以及具有直接可讀的形式。DocumentObjectModel(DOM)是應(yīng)用程序存取XML數(shù)據(jù)的接口。不幸的是,DOM是一種相當(dāng)復(fù)雜的API,因而較難以迅速掌握。但是,如能知道所存取數(shù)據(jù)的DTD,這時就容易得多了。本文將通過若干簡單步驟,對如何利用Java版的DOM來存取XML數(shù)據(jù)進(jìn)行介紹。
可擴展標(biāo)記語言(XML)已經(jīng)相當(dā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ù)類型。
許多標(biāo)準(zhǔn)化組織正在致力于規(guī)范交流數(shù)據(jù)的DTD。其中一個例子就是國際出版通信委員會(請參見資源)已經(jīng)定義了一個XML的DTD,這個DTD可以使“所傳輸?shù)膸в袠?biāo)記的新聞信息能夠輕松地轉(zhuǎn)換為電子出版格式”。這些市場標(biāo)準(zhǔn)將使不同應(yīng)用程序之間能夠在未事先確定方式的情況下進(jìn)行數(shù)據(jù)的交換。
由W3C定義的XML規(guī)范(請參見資源)中規(guī)定了XML的語法和語義。一個XML文檔必須經(jīng)過語法分析才能被處理。如果每個程序都必須先對XML進(jìn)行語法分析再去處理,那將是非常困難的,因為給出這種語言的語法和語義是很復(fù)雜的。W3C已經(jīng)定義了文檔對象模型(DOM)(請參見資源)來解決這一問題。DOM是一個針對XML數(shù)據(jù)的應(yīng)用編程接口。大部分XML語法分析器都為所分析的XML生成一個DOM描述。
DOM標(biāo)準(zhǔn)
DOM API被定義為一系列CORBAIDL接口(請參見資源)。它用一個抽象樹來描述一個經(jīng)過語法分析的XML文檔。之所以說它是抽象的,這是因為只有這些接口反映出樹形的結(jié)構(gòu)。而用來實現(xiàn)抽象樹的實際數(shù)據(jù)結(jié)構(gòu)和算法不必是樹形結(jié)構(gòu)。
由于DOM API是以CORBAIDL形式規(guī)定的,所以它被許多編程語言所支持,包括Java語言。我們假定本文中使用標(biāo)準(zhǔn)的Java語言。DOM規(guī)范給出了詳細(xì)的基于Java接口。
DOM第一層規(guī)范是在1998年被采用的。它留下一些保留部分,以根據(jù)后來的實踐經(jīng)驗來進(jìn)一步擴充。DOM第二層規(guī)范在第一層的基礎(chǔ)上增加了對XML命名空間、文檔創(chuàng)建、視圖和式樣單等內(nèi)容的支持。第二層規(guī)范尚有待公眾評價。雖然從技術(shù)上而言還沒有最終完成,但是也已經(jīng)相當(dāng)穩(wěn)定。
對于一個XML文檔,許多XML語法分析器均可供Java程序使用,以生成DOM的第一層描述。因此,這里的代碼只假定為基于DOM的第一層子集。
網(wǎng)頁標(biāo)題:探究DOMAPI用法
文章源于:http://www.5511xx.com/article/cdcgcce.html


咨詢
建站咨詢
