Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android XML文檔解析(一) SAX解析

Android XML文檔解析(一) SAX解析

編輯:關於Android編程

一. XML介紹       XML:extensible markup language,可擴展標記語言. 與HTML(超文本標記語言,即Hypertext Markup Language)一樣,XML也是標准通用標記語言 (SGML) 的子集,非常適合 Web 傳輸。XML與HTML的設計區別是:XML 被設計為傳輸和存儲數據,其焦點是數據的內容。而HTML 被設計用來顯示數據,其焦點是數據的外觀。HTML 旨在顯示信息,而 XML 旨在傳輸信息。XML 提供統一的方法來描述和交換獨立於應用程序或供應商的結構化數據。其目的是為了促進Internet上結構化文檔的交換。簡單的說,XML是一組規則和准則的集合,用於以無格式文本來描述結構化數據.       XML是純數據描述,與編程語言、操作系統或傳輸協議無關,從而將數據從以代碼為中心的基礎結構所產生的約束中解放出來,讓數據能夠在Web上更自由的流通。然而XML本身只是以純文本對數據進行編碼的一種格式,要想利用XML,或者說利用XML文件中所編碼的數據,必須先將數據從純文本中解析出來,因此,必須有一個能夠識別XML文檔中信息的解析器,用來解釋XML文檔並提取其中的數據。根據數據提取的不同需求,又存在著多種解析方式,不同的解析方式有著各自的優缺點和適用環境。選擇合適的XML解析技術能夠有效提升應用系統的整體性能.在Android中,常見的XML解析器分別為SAX解析器、DOM解析器和PULL解析器.       下面,介紹SAX解析方式.   二.  SAX解析       SAX,全稱Simple API for XML,既是指一種接口,也是指一個軟件包。SAX解析XML文件采用事件驅動的方式進行,也就是說,SAX是逐行掃描文件,當掃描到文檔(document)開始與結束、元素(element)開始與結束、文檔(document)結束等地方時回調你寫好的事件處理程序,然後繼續同樣的掃描,直至文檔結束。使用SAX的優勢在於其解析速度較快,占用內存較少(相對於DOM而言)。而且SAX在解析文件的過程中得到自己需要的信息後可以隨時終止解析,並不一定要等文件全部解析完畢。凡事有利必有弊,其劣勢在於SAX采用的是流式處理方式,當遇到某個標簽的時候,它並不會記錄下以前所遇到的標簽,也就是說,在處理某個標簽的時候,比如在 startElement方法中,所能夠得到的信息就是標簽的名字和屬性,至於標簽內部的嵌套結構,上層標簽、下層標簽以及其兄弟節點的名稱等等與其結構相關的信息都是不得而知的。實際上就是把XML文件的結構信息丟掉了,如果需要得到這些信息的話,只能你自己在程序裡進行處理了。所以相對DOM而言,SAX處理XML文檔沒有DOM方便,SAX處理的過程相對DOM而言也比較復雜。
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved