国产男女无遮挡_日本在线播放一区_国产精品黄页免费高清在线观看_国产精品爽爽爽

  • 熱門標簽

當前位置: 主頁 > 航空資料 > 計算機 >

時間:2010-08-09 13:05來源:藍天飛行翻譯 作者:admin
曝光臺 注意防騙 網曝天貓店富美金盛家居專營店坑蒙拐騙欺詐消費者

載到內存中而造成的開銷,可以使用S A X等事件驅動的解析器處理大型X M L文件,我們將在下
一章介紹S A X。
144使用XML 高級編程
下載
下載
第6章SAX 1.0:XML簡易API
在第5章里考慮了如何使用文檔對象模型( D O M )編寫應用程序。本章將著眼于處理X M L文檔
的另一種方式: S A X接口。我們先論述一下為什么要選擇使用S A X接口而不是文檔對象模型,
然后通過編寫一些簡單的應用程序來探究S A X接口技術。本章也將討論一些設計模式,它們在
創建更復雜的S A X應用程序時會有所幫助。最后本章描述了S A X未來的發展前景。
S A X的接口風格完全不同于文檔對象模型。文檔對象模型應用程序通過遵循內存中的對象
參照來要求文檔中的內容;使用S A X ,解析器通過向應用程序報告解析事件流來告知應用程序文
檔的內容。
S A X即X M L簡易應用程序編程接口,全稱是擴展標記語言簡易應用程序編程接口。
從名稱上可以看出, S A X接口可以用來編寫應用程序以讀取X M L文檔中存有的數據。S A X
在本質上是一種J a v a接口,本章所有給出的例子也是用J a v a編寫的。(因為本章沒有足夠的篇幅
講解J a v a 技術,為此我們假設讀者已具有了J a v a 的相關知識。參見Wr o x 出版社出版的
《Beginning Java2 》,ISBN 1861002238 ;也可以在h t t p : / / w w w. j a v a . s u n . c o m查找到更多的信
息。)
S A X接口事實上被所有的Java XML 解析器支持,而且兼容性非常好。參看h t t p : / / w w w.
x m l s o f t w a r e . c o m或David Megginson的站點h t t p : / / w w w. m e g g i n s o n . c o m / S A X /列出的一些實例。
在用J a v a編寫S A X應用程序前,你需要安裝S A X類(當然要先安裝Java JDK)。大多數情況
下你會發現X M L解析器自動幫你安裝了S A X類(稍后我們將告知如何快捷地獲取這些解析器)。
檢查在你的類路徑中是否包含如o rg . x m l . s a x . P a r s e r 的類, 如果沒有, 你可以從
h t t p : / / w w w. m e g g i n s o n . c o m / S A X /安裝這些類。我們隨后將介紹一下關于S A X的起源與發展趨勢。
但是現在我們將僅提及它最顯著的一個特性: S A X不屬于任何標準組織或團體,也不屬于任何
公司或個人;它是供任何人實現與使用的一種計算機技術。尤其與大多數X M L標準族的不同之
處在于,S A X和W 3 C組織沒有任何關系。
S A X的開發工作由David Megginson負責協調, S A X的規范可在David Megginson的站點查找
(h t t p : / / w w w. m e g g i n s o n . c o m / S A X/。這個規范中有些不重要的編輯方面的修改,對本書附錄C中
的相關約定進行了再版。
6.1 事件驅動接口
從程序中讀取X M L文檔基本上有三種方式:
• 把X M L只當做一個文件讀取,然后自己挑選出其中的標簽。這是黑客們的方法,我們不推
薦這種方式。你很快會發現處理所有的特殊情況(包括不同的字符編碼,例外約定,內部
和外部實體,缺省屬性等)比想象的困難得多;你可能不能夠正確地處理所有的特殊情況,
這樣你的程序會接收到一個非常規范的X M L文檔,卻不能正確地處理它。要避免這種想法:
X M L解析器似乎并不昂貴(大多數是免費的)。
• 可以用解析器分析文檔并在內存里創建對文檔內容樹狀的表達方式:解析器將輸出傳遞給
文檔對象模型,即D O M。這樣程序可以從樹的頂部開始遍歷,按照從一個樹單元到另一
個單元的引用,從而找到需要的信息。
• 也可以用解析器讀取文檔,當解析器發現標簽時告知程序它發現的標簽。例如它會告知它
何時發現了一個開始標簽,何時發現了一些特征數據,以及何時發現了一個結束標簽。這
叫做事件驅動接口,因為解析器告知應用程序它遇到的有含義的事件。如果這正是你需要
的那種接口,可以使用S A X。
讓我們更加詳細地看一下事件驅動解析過程。
你可能已經在用戶接口編程中遇到過“事件驅動”這個術語,用來編寫應用程序以響應發
生的如鼠標點擊等事件。事件驅動解析器和其類似:特別是你必須習慣于應用程序不是你所控
制這一概念。一旦事情要開始發生,你不需要調用解析器,而是解析器調用程序。開始看起來
有些奇怪,但是一旦你習慣了,這就不是個問題。實際上,它比用戶接口編程更容易,因為不
需要忙于處理隨時發生的鼠標事件, X M L要解析的事件按照相對可預見的順序出現。X M L元素
必須完全成對出現,所以你可以知道每個已經打開的元素隨后肯定會被關閉。
下面是一個簡單的X M L文件:
程序清單6 - 1
當解析器進行處理時,它會調用一連串方法,如下所示(我們將在后面描述實際的方法命名與參
數,這里僅為例證說明):
程序清單6 - 2
你的應用程序提供當s t a r t E l e m e n t和e n d E l e m e n t等事件發生時需要調用的方法。
為什么使用事件驅動接口
假如可以選擇的話,那么知道什么情況下使用S A X這樣的事件驅動接口最好,或者在什么時
候使用D O M這樣基于樹結構的接口更好一些是很重要的。
這兩種接口都已經很好地標準化并得到廣泛的支持,因此不管使用哪一種接口,都有很多
性能良好的解析器可供選擇,而且大部分是免費的。實際上很多解析器同時支持兩種接口。
146使用XML 高級編程
下載
1. SAX的優點
下面的部分簡述了S A X接口最顯著的一些優點。
(1) 可以解析任意大小的文件
因為S A X不需要把整個文件加載到內存,所以對內存的占用一般比D O M小得多,而且不隨
著文件大小的增加而增加。當然D O M使用的實際內存數量要視解析器而定,但在大多數情況下
一個1 0 0 K b的文檔至少要占用1 M b的內存。
但是有一點要注意:如果S A X應用程序自身在內存中創建文檔的表達,它會占用和允許
解析器創建空間一樣大小的內存。
(2) 適合創建自己的數據結構
應用程序可能會想用如書、作者以及出版者這樣的高級對象而不是一些低級元素、屬性和
 
中國航空網 www.k6050.com
航空翻譯 www.aviation.cn
本文鏈接地址:XML高級編程上(56)
国产男女无遮挡_日本在线播放一区_国产精品黄页免费高清在线观看_国产精品爽爽爽
在线一区日本视频| 国产精品一区专区欧美日韩| 国产aⅴ精品一区二区三区黄| 久久久国产精品免费| 久久99精品国产一区二区三区| 91干在线观看| 国产成人精品日本亚洲| 色偷偷av亚洲男人的天堂| 日韩视频在线免费观看| 久久久av网站| 久久99国产精品自在自在app| 一本久道久久综合| 日韩av高清不卡| 人体精品一二三区| 日韩精品久久久毛片一区二区| 日本欧洲国产一区二区| 欧美久久久久久久久久久久久久| 国内精品二区| 国产精品香蕉国产| 久久精品日韩| 国产精品麻豆免费版| 九九久久精品一区| 亚洲视频导航| 日本精品久久久久中文字幕| 欧美自拍视频在线| 精品视频免费观看| 97干在线视频| www.午夜精品| 欧美激情精品久久久久| 亚洲区一区二区三区| 日本中文字幕亚洲| 免费在线a视频| 波多野结衣久草一区| 久草综合在线观看| 精品蜜桃传媒| 欧美一级片免费在线| 蜜桃传媒一区二区三区| 91久久偷偷做嫩草影院| 日韩在线播放一区| 中文字幕第一页亚洲| 日韩成人av电影在线| 麻豆91蜜桃| 国产不卡一区二区在线播放| 久久亚洲精品毛片| 亚洲欧美久久久久一区二区三区| 日韩久久不卡| 成人a在线观看| 久久天堂av综合合色| 亚洲福利av在线| 国产一区二区四区| 视频在线观看99| 亚洲精品一卡二卡三卡四卡| 免费国产一区| 日韩一区在线视频| 亚洲高清精品中出| 国产日韩av高清| 国产成人免费av| 少妇高潮喷水久久久久久久久久| 国产视频一区二区三区四区| 久久国产精品网| 亚洲尤物视频网| 国产原创精品| 国产精品视频地址| 日本a级片在线观看| 99www免费人成精品| 欧美大片va欧美在线播放| 欧美视频观看一区| 久精品国产欧美| 手机看片日韩国产| 91久久精品国产91性色| 中文字幕人妻熟女人妻洋洋| 国产一区二区视频播放| 久久久国产精品免费| 日本成人中文字幕在线| av观看久久| 欧美日韩第一页| 国产亚洲欧美在线视频| 久久视频中文字幕| 欧美自拍大量在线观看| 九色综合日本| 青青视频免费在线观看| 久久国产色av免费观看| 日韩av资源在线| 国产黄视频在线| 视频在线精品一区| 久久久欧美精品| 日本一区二区三区四区在线观看| 99精品视频网站| 在线观看亚洲视频啊啊啊啊| 精品91免费| 国产精品视频自拍| 国内精品**久久毛片app| 国产精品福利网| 国产亚洲第一区| 欧美精品久久久久久久久| 国产欧美va欧美va香蕉在线| 欧美精品www在线观看| 国产精品专区一| 一区二区精品在线| 91精品国产高清久久久久久91 | 欧美一区二区三区综合| 俄罗斯精品一区二区三区| 在线观看一区欧美| 国产精品.com| 日韩精品一区二区三区电影| 国产精品无码电影在线观看| 国产一区二区网| 一区二区三区国| 久久久神马电影| 欧美中文在线视频| 国产精品久久久久久久免费大片 | 国产美女永久无遮挡| 一本久道综合色婷婷五月| 91久久久久久久久| 日韩a在线播放| 国产精品免费区二区三区观看| 国产视频一区二区三区在线播放| 一区二区三区免费看| 久久综合给合久久狠狠色 | 日本成熟性欧美| 国产精品女人网站| 国产精品稀缺呦系列在线| 日韩av不卡在线播放| 国产成人精品自拍| 国产欧美一区二区三区视频| 亚洲中文字幕无码一区二区三区| 久久99精品久久久久久青青日本 | 久精品国产欧美| 国产综合福利在线| 日韩中文字幕组| 国产精品福利久久久| 91精品免费看| 国语对白做受xxxxx在线中国| 在线免费一区| 久久久国产精品免费| 成人久久18免费网站漫画| 欧洲熟妇精品视频| 欧美激情中文网| www国产精品com| 97精品国产97久久久久久免费| 欧美中日韩一区二区三区| 亚洲综合成人婷婷小说| 国产精品男人爽免费视频1| 91精品国产自产在线老师啪| 麻豆成人在线播放| 日韩精品一区二区三区外面| 永久免费看av| 国产精品乱码视频| 国产v亚洲v天堂无码久久久| 国产精品香蕉视屏| 黄色一级视频片| 日本精品一区二区三区在线 | 成人免费在线网址| 欧美激情专区| 日韩中文一区| 一区二区三区四区视频在线| 国产精品视频在线播放| 久久伊人一区二区| www黄色av| 国产欧美自拍视频| 男人添女人下部视频免费| 亚洲精品欧美一区二区三区| 欧美成人第一页| 国产精品久久久av久久久| 国产成人精品网站| 久久riav| 久久国产精品网| 国产成人黄色av| 国产高清一区视频| 68精品久久久久久欧美| aaa毛片在线观看| 国产精品一区二区性色av| 国内偷自视频区视频综合| 欧洲精品一区二区三区久久| 日本一区视频在线播放| 视频一区亚洲| 无码人妻aⅴ一区二区三区日本| 一级一片免费播放| 中文字幕第一页亚洲| 久久99精品视频一区97| 久99九色视频在线观看| 国产精品电影网| 久久亚洲成人精品| 久久的精品视频| 精品九九九九| 久久久久国产精品免费网站| 久久99亚洲热视| 精品综合久久久久久97| 精品久久久久久一区二区里番| 久久综合九色九九| 中文字幕欧美日韩一区二区| 欧美日韩国产91| 一本久道综合色婷婷五月| 亚洲三区四区| 午夜免费福利小电影| 色中文字幕在线观看| 日韩欧美亚洲日产国产| 精品人妻少妇一区二区| 国产一区二区三区小说| 国产精品一区二区三|