Android 建立與解析XML(四)——詳解Pull方式

Android 建立與解析XML(四)——詳解Pull方式

 1、Pull概述

Android系統中和建立XML相關的包為org.xmlpull.v1,在這個包中不僅提供了用於建立XML的 XmlSerializer,還提供了用來解析XML的Pull方式解析器 XmlPullParser

XmlSerializer沒有像XmlPullParser那樣提取XML事件,而是把它們推出到資料流OutputStream或Writer中。

XmlSerializer提供了很直觀的API,即使用startDocument開始文件,endDocument結束文件,startTag開始元素,endTag結束元素,text新增文字等。

Pull方式建立XML,應用了標準xml構造器 org.xmlpull.v1.XmlSerializer來建立 XML ,org.xmlpull.v1.XmlPullParser來解析XML,需要匯入以下內容

org.xmlpull.v1

org.xmlpull.v1.XmlPullParser;
org.xmlpull.v1.XmlPullParserException;
org.xmlpull.v1.XmlPullParserFactory;
org.xmlpull.v1.XmlSerializer;

Pull 建立和解析 XML 的效果圖:

2、Pull 建立 XML

pull方式,建立xml是通過 XmlSerializer 類實現

首先,通過XmlSerializer得到建立xml的例項 xmlSerializer

接著,通過 xmlSerializer 設定輸出 xmlSerializer.setOutput,xmlSerializer.startDocument(“utf-8”, null)設定xml屬性等

然後,通過 xmlSerializer 建立 startDocument、startTag、text、endTag、endDocument等

執行結果:

3、Pull 解析 XML

pull方式,解析xml是通過 XmlPullParser 類實現

首先,通過XmlPullParser得到解析xml的例項 xpp

接著,通過 xpp設定輸入 xpp.setInput(is, “utf-8”),宣告定義儲存xml資訊的資料結構(如:Person陣列)

然後,通過 xpp 解析 START_DOCUMENT、START_TAG、TEXT、END_TAG、END_DOCUMENT等
  

執行結果:

4、Person類

請參見前面部落格 Android 建立與解析XML(二)—— Dom方式 【4、Person類】