如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
Java與XML聯合編程之DOM篇來源︰網絡轉載作者︰揚帆時間︰2005-08-24點擊︰991DOM初步DOM是DocumentObjectModel的縮寫,即文檔HYPERLINK"http://www.souzz.net/big5.php?http://www.souzz.net/html/edu/net/net13/9304.html"對象模型。前面說過,HYPERLINK"http://www.souzz.net/big5.php?http://www.souzz.net/html/edu/xml/"XML將數據組織為一顆樹,所以DOM就是對這顆樹的一個HYPERLINK"http://www.souzz.net/big5.php?http://www.souzz.net/html/edu/net/net13/9304.html"對象描敘。通俗的說,就是通過解析HYPERLINK"http://www.souzz.net/big5.php?http://www.souzz.net/html/edu/xml/"XML文檔,為HYPERLINK"http://www.souzz.net/big5.php?http://www.souzz.net/html/edu/xml/"XML文檔在邏輯上建立一個樹模型,樹的節點是一個個HYPERLINK"http://www.souzz.net/big5.php?http://www.souzz.net/html/edu/net/net13/9304.html"對象。我們通過存取這些HYPERLINK"http://www.souzz.net/big5.php?http://www.souzz.net/html/edu/net/net13/9304.html"對象就能夠存取HYPERLINK"http://www.souzz.net/big5.php?http://www.souzz.net/html/edu/xml/"XML文檔的內容。下面我們來看一個簡單的例子,看看在DOM中,我們是如何來操作一個HYPERLINK"http://www.souzz.net/big5.php?http://www.souzz.net/html/edu/xml/"XML文檔的。這是一個HYPERLINK"http://www.souzz.net/big5.php?http://www.souzz.net/html/edu/xml/"XML文檔,也是我們要操作的HYPERLINK"http://www.souzz.net/big5.php?http://www.souzz.net/html/edu/net/net13/9304.html"對象︰<?xmlversion="1.0"encoding="UTF-8"?><messages><message>Good-byeserialization,helloJava!</message></messages>下面,我們需要把這個文檔的內容解析到一個個的JavaHYPERLINK"http://www.souzz.net/big5.php?http://www.souzz.net/html/edu/net/net13/9304.html"對象中去供程序使用,利用JAXP,我們只需幾行代碼就能做到這一點。首先,我們需要建立一個解析器工廠,以利用這個工廠來獲得一個具體的解析器HYPERLINK"http://www.souzz.net/big5.php?http://www.souzz.net/html/edu/net/net13/9304.html"對象︰DocumentBuilderFactorydbf=DocumentBuilderFactory.newInstance();我們在這里使用DocumentBuilderFacotry的目的是為了創建與具體解析器無關的程序,當DocumentBuilderFactory類的靜態方法newInstance()被調用時,它根據一個系統變量來決定具體使用哪一個解析器。又因為所有的解析器都服從于JAXP所定義的接口,所以無論具體使用哪一個解析器,代碼都是一樣的。所以當在不同的解析器之間進行切換時,只需要更改系統變量的值,而不用更改任何代碼。這就是工廠所帶來的好處。這個工廠模式的具體實現,可以參看下面的類圖。DocumentBuilderdb=dbf.newDocumentBuilder();當獲得一個工廠HYPERLINK"http://www.souzz.net/big5.php?http://www.souzz.ne