一、jdom介紹
我們知道dom是用于與平臺和語言無關的方式表示xml文檔的官方w3c標準,利用dom和sax api可以解析和處理xml文檔。這里我們介紹的jdom是基于樹操作的純java api,應該說它提供的是一套用于解析、創建、處理和實現xml的解決方案。
這些api比dom和sax api提供的方法更為直觀,對于有java經驗的程序員將會發現jdom非常容易掌握。jdom處理xml的方式比dom容易的多,并且它的功能比使用sax更加強大。
jdom的內部邏輯結構基本上與dom的相同,比如具有document、element、comment等文檔節點類型,其中每一個jdom文檔必須有一個document節點,并且為節點樹的根節點。該根節點可以有子節點或者葉子節點如comment、text等。jdom文檔中的每一個節點類型均對應格式良好的xml文當中的沒一個元素。這也就為我們利用jdom轉換數據庫到xml文檔提供了可操作的依據。
jdom的優點:
由jdom的文檔聲明我們將會很明顯的看出應用jdom的優勢所在。jdom文檔聲明如下“jdom引用了20/80原則,即使用20%的精力解決80%的java/xml問題”。
● jdom是用java開發并為java提供服務的,它沿用了java代碼的規范和類庫;
● 在眾多編程語言中,java是使用xml的優秀平臺,xml又是java應用的優秀數據表示方法。jdom api是純java api對于java開發人員來說更容易上手;
● jdom api比dom所提供的方法更為直觀,同時簡化了與xml的交互。比使用dom更快。
org.jdom是用于java api操作的jdom工具包。
在org.jdom中,提供了document、element 、comment 、doctype、attribute、text等存 java 類,這些類均是訪問和操作jdom文檔所必須的。我們可以利用這些類創建、遍歷、修改jdom文檔。
在org.jdom.output中,提供了domoutputter、xmloutputter,用于處理jdom樹的dom樹形式、xml文檔形式輸出、打印等。
二、環境配置
在我的windows2000系統平臺上采用tomcat4.1.18、jdk1.4.0_02作為開發和測試平臺。
通過“我的電腦”的“高級”屬性添加如下兩個環境設置classpath設置為:“.;c:j2sdk1.4.0_02libdt.jar;c:j2sdk1.4.0_02lib ools.jar;”。path設置為“.;c:j2sdk1.4.0_02in;”。
sql server jdbc驅動:mssqlserver.jar 放入tomcat的lib目錄下。
三、獲得與安裝jdom
由于目前jdom并沒有包含在sun的jdk中(我想不久的將來jdom必然會成為sun jdk的一部分),我們必須手工下載與設置jdom的環境。
在http://www.jdom.org可以下載jdom的最新版本。這里下載的是jdom beta8。下載jdom-b8.zip后解壓縮,jdom的jar文件就是build目錄下的文件jdom.jar,將上述文件拷貝到j2sdk1.4.0_02目錄下的jre/lib/ext目錄下。
四、利用jdom實現sql server 數據庫到xml的轉換
1、數據庫、表的創建
這里應用一個轉換顧客信息的例子??“顧客基本信息”。我們是把數據放置于microsoft sql server 2000數據庫中,然后運用jsp和jdom技術動態生成xml實例文檔。
我們事先microsoft sql server數據庫custom中創建了一個數據表--custom,其數據結構如下表所示:
|
2、數據源設置
數據源(odbc source)實際上就是定義數據的來源。數據源的設置方法是: [開始]-〉[設置]-〉[控制面板]-〉[管理工具]-〉[數據源(odbc)]-〉[system dsn]-〉[add]-〉[sql server],分別配置服務器名(custom所在服務器)、數據庫名(custom)、數據源名稱(此處定為db_custom)、用戶名(lgz)、用戶口令(空),數據源就配置好了。
3、代碼的編寫
下面開始我們的編寫jsp代碼轉換工作,代碼將通過調用jdom動態生成xml結構,然后借助jdbc訪問sql server數據庫動態填充xml內容。
|
4、程序的運行
通過瀏覽器的8080端口運行該jsp,將產生預期的xml文件。
五、應用分析
xml作為數據交換的標準,得到了越來越廣泛的應用。這篇文章闡明了數據庫到xml轉換的基本方法,從而使各異構平臺以及各種格式的數據進行數據交換成為可能。當我們能夠把原始的數據轉化為xml格式化的形式,就能夠以豐富的html的格式表示出來。這里列舉兩個方面的應用:
1、 xml應用服務器:
xml應用服務器實際上是支持xml的web應用服務器,它們通常是模板驅動的,通過在一個劇本語言中嵌入使用sql語句來提取數據并動態構建xml文檔。
2、 基于xml的桌面應用
我們知道通過xsl可以把相同的數據以不同的數據形式提交給終端客戶,一個xsl文件描述了數據的顯示方式,你可以把許多xsl和同一個xml文檔相連來提供不同的基于html的表示,這樣事實上,我們就可以建立基于xml的桌面應用程序
采用這種方法主要有兩個優點,首先,你可以以平臺和語言獨立的方式來操作數據,其次,不需要編程你就可以實現對同樣數據的不同的視圖表示。
新聞熱點
疑難解答