Read Sean

          Read me, read Sean.
          posts - 508, comments - 655, trackbacks - 9, articles - 4

          [XML學(xué)習(xí)筆記][2.2]XML內(nèi)容提取

          Posted on 2005-02-19 22:00 laogao 閱讀(607) 評論(0)  編輯  收藏 所屬分類: On Java

           

          為了讓XML文檔能夠被應(yīng)用程序識別和處理,必須提供一個讀取XML文檔的途徑。當(dāng)然,你也許會說,XML不就是文本文件嗎?我用java.io包不就可以讀取了?XML文件并非簡單的plain text,它有自己的結(jié)構(gòu)和描述性,我們需要在基本的I/O之上更進(jìn)一步。常見的XML讀取有兩種不同的方式:SAX和DOM,下面我們分別來看一下:

          SAX是Simple API for XML的縮寫,顧名思義,就是處理XML的簡單API,就象它的名字所暗示的那樣,SAX比DOM要簡單直接得多。本質(zhì)上講,SAX是事件驅(qū)動的,比如,當(dāng)讀取XML文件到一個標(biāo)簽的結(jié)尾時,該事件被傳遞到應(yīng)用程序,應(yīng)用程序做出相應(yīng)處理,于是,應(yīng)用程序在這個時候只知道已經(jīng)讀取的那一部分內(nèi)容,而對剩下的XML數(shù)據(jù)一無所知。這正是SAX的局限,同時,因為SAX是讀一部分處理一部分,它的速度相當(dāng)快。

          DOM是Document Object Model的縮寫,文檔對象模型,這個名字聽上去就要更抽象一些,它是一次性把整個XML文檔讀取完畢然后構(gòu)件一個完整的樹狀對象模型,于是它的速度要比SAX慢很多,但是對XML文檔整體就有一個更加完整的視圖,這在有些時候是必需的。

          通常我們使用的XML API都同時支持這兩種模式,在遇到具體問題時,我們可以根據(jù)文檔的復(fù)雜度、規(guī)模、以及我們的需求來確定到底使用哪一種模式。

           

          主站蜘蛛池模板: 霍邱县| 嵊州市| 兴仁县| 岚皋县| 集安市| 鹰潭市| 马鞍山市| 开鲁县| 日喀则市| 蛟河市| 韶山市| 勃利县| 南郑县| 泸水县| 拉孜县| 天津市| 扎鲁特旗| 新野县| 丰城市| 建瓯市| 泗洪县| 大庆市| 二连浩特市| 高青县| 高密市| 怀柔区| 化州市| 东宁县| 九龙坡区| 福清市| 洛隆县| 保德县| 通许县| 商南县| 天津市| 顺平县| 新野县| 新田县| 濮阳市| 修水县| 滨州市|