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

  • 熱門標簽

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

時間: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)
国产男女无遮挡_日本在线播放一区_国产精品黄页免费高清在线观看_国产精品爽爽爽
国产日韩欧美日韩| 国产精品尤物福利片在线观看| 国产精品第二页| 精品国产一区二区三区久久狼5月| 久久全国免费视频| 国产成人综合精品在线| 久久影视中文粉嫩av| 久久亚洲免费| 九色综合日本| 深夜福利一区二区| www高清在线视频日韩欧美| 久久久久久午夜| 久久久国产精品视频| 国产精品久久久久高潮| 久久99精品久久久久久琪琪| 国产999精品视频| 在线播放豆国产99亚洲| 亚洲va久久久噜噜噜久久狠狠| 亚洲精品久久区二区三区蜜桃臀 | 亚洲国产欧美一区二区三区不卡| 午夜精品免费视频| 任我爽在线视频精品一| 男人天堂av片| 国产精品一区=区| 久久伊人资源站| 久久久国产在线视频| 国产精品动漫网站| 夜夜爽www精品| 日韩精品一区二区三区久久| 霍思燕三级露全乳照| 国产日韩精品入口| 国产精品91在线| 国产精品秘入口18禁麻豆免会员| 亚洲一区二区高清视频| 日本精品视频在线观看| 黄色片视频在线播放| 97国产在线视频| 久久天天躁狠狠躁夜夜爽蜜月| 色综合91久久精品中文字幕| 午夜精品久久久久久久99热浪潮| 日韩wuma| 国产一区视频在线播放| 久久久中文字幕| 国产精品福利在线观看| 亚洲av首页在线| 黄色片网址在线观看| 国产精品a久久久久久| 日韩欧美在线电影| 国产精品夜夜夜爽张柏芝| 久草在在线视频| 久久久久国产精品免费| 欧美午夜小视频| 成人av播放| 按摩亚洲人久久| 午夜精品美女自拍福到在线| 国产一区精品在线| 久久久久久这里只有精品| 久99久在线视频| 青青草成人网| 91精品国产精品| 美女久久久久久久| 欧美极品少妇无套实战| 国产极品精品在线观看| 欧美精品一二区| 欧美精品与人动性物交免费看| 91精品国自产在线观看| 欧美精品一区二区免费| 青青草原一区二区| 久久久免费观看| 亚洲综合五月天| 国产伦精品一区二区三区免费视频 | 国产一区二区三区高清| 日韩在线视频免费观看高清中文| 在线国产精品网| 欧美日韩精品在线一区二区 | 久久精品综合一区| 亚洲精品一区二区三区四区五区 | 91精品美女在线| 欧美日韩高清在线观看| 蜜臀精品一区二区| 国产精品视频不卡| 欧美怡春院一区二区三区| 久久视频这里有精品| 亚洲综合中文字幕在线| 不卡一区二区三区四区五区| 久久国产精品久久久久| 国产一级不卡视频| 国产精品国产对白熟妇| 美媛馆国产精品一区二区| 国产精品视频一| 国内精品美女av在线播放| www国产亚洲精品久久网站| 欧美在线播放一区二区| 国产成人免费91av在线| 欧美日韩精品免费观看| 国产精品日韩在线一区| 黄页网站大全在线观看| 国产精品美女主播在线观看纯欲| 黄色片网址在线观看| 精品成在人线av无码免费看| 国产精品自拍片| 亚洲国产精品日韩| 久久久av水蜜桃| 欧美日韩精品综合| 国产精品第10页| 国产青青在线视频| 亚洲最大福利视频网站| 久久九九国产视频| 欧美亚洲第一区| 久久夜精品va视频免费观看| 国产女人18毛片| 中国人体摄影一区二区三区| 超碰97人人人人人蜜桃| 熟女少妇在线视频播放| 色av吧综合网| 精品视频免费观看| 亚洲一二三区精品| 日韩在线精品视频| 美女亚洲精品| 亚洲综合最新在线| 日韩有码片在线观看| 国产一区二区三区高清视频| 亚洲免费av网| 久久九九精品99国产精品| 国产美女精品视频免费观看| 亚洲精品第一区二区三区| 丝袜美腿亚洲一区二区| 蜜桃传媒一区二区| 亚洲砖区区免费| 国产成人精品一区二区在线| 国产视频一区二区不卡| 性色av香蕉一区二区| 国产精品乱子乱xxxx| 91好吊色国产欧美日韩在线| 欧美中在线观看| 一本色道婷婷久久欧美| 久久久精品欧美| www.日本在线视频| 青青草视频在线免费播放| 欧美激情精品久久久久久久变态| 国产厕所精品在线观看| 国产免费一区视频观看免费 | 国语自产精品视频在线看一大j8| 欧美精品久久久久久久免费观看| 久久99精品国产一区二区三区 | 韩国日本不卡在线| 色就是色欧美| 蜜臀久久99精品久久久久久宅男 | 日本一区视频在线观看| 国产精品动漫网站| 久久久久久人妻一区二区三区| 国产免费毛卡片| 欧美日韩精品免费看| 色噜噜狠狠一区二区三区| 欧美精品video| 久久最新资源网| 久久综合福利| 国产精品一二三在线观看| 欧美大香线蕉线伊人久久| 日本一区免费看| 亚洲影院色在线观看免费| 另类色图亚洲色图| 日韩网站免费观看| 91精品啪aⅴ在线观看国产| 国产啪精品视频| 极品尤物一区二区三区| 日韩精品视频在线观看视频| 亚洲国产欧美不卡在线观看| 一区二区三区四区欧美| 精品伦精品一区二区三区视频 | 久久精品成人一区二区三区| 8050国产精品久久久久久| 国产一区红桃视频| 男女午夜激情视频| 青青草久久网络| 热99精品只有里视频精品| 日本中文字幕一级片| 一区二区免费在线视频| 中文字幕av日韩精品| 九九热视频这里只有精品| 欧美日韩国产成人在线| 精品福利影视| 精品国产成人av在线免| 欧美巨大黑人极品精男| 精品国产乱码久久久久久久软件| 国产精品美女主播| 久久亚洲国产精品| 国产精品久久久久久久免费大片 | 欧美精品一区二区三区久久| 日韩视频在线观看视频| 日韩精品一区二区在线视频| 青青草国产精品视频| 欧美日韩国产三区| 欧美亚洲精品日韩| 国内精品视频久久| 国产欧美精品xxxx另类| 99高清视频有精品视频| 91av在线网站| 久久久噜噜噜久噜久久| 国产成人精品在线观看|