<li id="34b3z"></li>
    <nav id="34b3z"></nav>
  1. <wbr id="34b3z"><legend id="34b3z"></legend></wbr>
    
    

        1. <form id="34b3z"></form>
          <sub id="34b3z"><table id="34b3z"><th id="34b3z"></th></table></sub>

          Android讀寫XML

          [來源] 達內    [編輯] 達內   [時間]2012-12-03

          大多數時間,使用 SAX 是比較安全的,并且 Android 提供了一種傳統的 SAX 使用方法,以及一個便捷的 SAX 包裝器。如果XML文檔比較小,那么 DOM 可能是一種比較簡單的方法。如果XML文檔比較大

            XML 經常用作 Internet 上的一種數據格式,其文件格式想必大家都比較清楚,在這里我結合Android平臺,來說明Android SDK提供的讀寫XML的package。

            首先介紹下Android SDK與Java SDK在讀寫XML文件方面,數據包之間的關系。Android 平臺最大的一個優勢在于它利用了 Java 編程語言。Android SDK 并未向標準 Java Runtime Environment (JRE) 提供一切可用功能,但它支持其中很大一部分功能。Java 平臺支持通過許多不同的方式來使用 XML,并且大多數與 XML 相關的 Java API 在 Android 上得到了完全支持。舉例來說,Java 的 Simple API for XML (SAX) 和 Document Object Model (DOM) 在 Android 上都是可用的,這些 API 多年以來一直都是 Java 技 術的一部分,較新的 Streaming API for XML (StAX) 在 Android 中并不可用。但是, Android 提供了一個功能相當的庫。最后,Java XML Binding API 在 Android 中也不可用,這個 API 已確定可以在 Android 中實現。Android SDK提供了如下package來支持XML的讀寫:

            包 功能介紹

            javax.xml根據 XML 規范定義核心 XML 常量和功能。

            javax.xml.parsers提供DOM和SAX方法解析XML文檔

            org.w3c.domW3C提供的使用DOM方法讀取XML

            org.xml.sax提供核心SAX APIs

            org.xmlpull.v1

            額外補充說明下,在android.util數 據包中也提供了一個類Xml,不過這個類就是把以上package簡單封裝了下。

            讀取XML主要有2種方法:DOM與SAX(Simple API for XML),在這里對這2種方法分別加以說明。

            DOM(文檔對象模型),為XML文檔的解析定義了一組接口,解析器讀入整個文檔,然后構造一個駐留內存的樹結構,然后代碼就可以使用DOM接口來 操組整個樹結構,其他點如下:

            優點:整個文檔樹都在內存當中,便于操作;支持刪除、修改、重新排列等多功能。

            缺點:將整個文檔調入內存(經常包含大量無用的節點),浪費時間和空間。

            使用場合:一旦解析了文檔還需要多次訪問這些數據,而且資源比較充足(如內存、CPU等)。

            為了解決DOM解析XML引起的這些問題,出現了SAX。SAX解析XML文檔為事件驅動,詳細說明請閱讀Android讀寫XML(中)–SAX。當解析器發現元素開始、元素結束,文本、文檔的開始或者結束時,發送 事件,在程序中編寫響應這些事件的代碼,其特點如下:

            優點:不用事先調入整個文檔,占用資源少。尤其在嵌入式環境中,極力推薦采用SAX進行解析XML文檔。

            缺點:不像DOM一樣將文檔長期駐留在內存,數據不是持久的,事件過后,如沒有保存數據,那么數據就會丟失。

            使用場合:機器性能有限,尤其是在嵌入式環境,如Android,極力推薦采用SAX進行解析XML文檔。

            大多數時間,使用 SAX 是比較安全的,并且 Android 提供了一種傳統的 SAX 使用方法,以及一個便捷的 SAX 包裝器。如果XML文檔比較小,那么 DOM 可能是一種比較簡單的方法。如果XML文檔比較大,但只需要文檔的一部分,則 XML Pu ll 解析器可能是更為有效的方法。最后對于編寫 XML,Pull 解析器包也提供了一種便捷的方法,詳細說明請閱讀Android讀寫XML(下)——數據寫入XML文檔。因此,無論我們的 XML 需求如何,Android 都能在一定程度上滿足我們的需求。

          資源下載

          ?