PULL解析XML檔案

2021-07-09 11:52:40 字數 1659 閱讀 7098

常用的xml pull的介面和類:

pull解析器的執行方式和sax類似,都是基於事件的模式。

標籤名說明

對應的數字

start_document

文件開始標記

0end_document

文件結束標記

1start_tag

標籤開始標記

2end_tag

標籤結束標記

3初始化處理

//從assets中讀取xml檔案

inputstream is=getresources().getassets().open("test.xml");

//建立xmlpullparser例項

xmlpullparser parser =xml.newpullparser();

//設定輸入流,並指明字元編碼

parser.setinput(is,"utf-8");

//產生第乙個事件(即標籤對應的int型別)

int eventype=parser.geteventtype();

具體解析

parser.getname()//獲取標籤名

parser.gettext()//獲取標籤值

parser.getattributename(0);//獲取第乙個屬性名

parser.getattributevalue(0)//獲取第乙個屬性值

eventype=parser.next();//獲取下乙個標籤

while (eventype!=xmlpullparser.end_document)else

if (parser.getname().equals("name"))else

if (parser.getname().equals("age"))else

if (parser.getname().equals("***"))

break;

case xmlpullparser.end_tag:

if (parser.getname().equals("person"))

break;

}eventype = parser.next();

}} catch (ioexception e) catch (xmlpullparserexception e)

string info="";

for (person p:personlist)

public string serialize(listbooks) throws exception 

serializer.endtag("", "books");

serializer.enddocument();

return writer.tostring();

}}

string xmlstring = parser.serialize(bookslist); // 序列化

fileoutputstream fos = openfileoutput("books.xml",

context.mode_private);

fos.write(xmlstring.getbytes("utf-8"));

XML檔案解析之PULL解析

1.pull概念 pull解析xml的方式與sax解析xml方式一樣,也是基於事件驅動。xmlpullparse中定義的常量 start documet 讀取到xml的宣告返回 start tag 讀取到xml的開始標籤返回 text 讀取到xml的文字返回 end tag 讀取到xml的結束標籤返...

使用PULL解析XML檔案

pull解析器的執行方式與 sax 解析器相似。它提供了類似的事件,如 開始元素和結束元素事件,使用parser.next 可以進入下乙個元素並觸發相應事件。事件將作為數值 被傳送,因此可以使用乙個switch對感興趣的事件進行處理。當元素開始解析時,呼叫parser.nexttext 方法可以獲取...

Android中pull解析xml檔案

注意區分下面兩種方法 xml.newserializer 序列化器 xml.newpullparser pull解析器 xml檔案解析有sax,dom,pull解析三種方法 pull解析的過程 1,在assets資料夾下拿到將要解析的xml檔案 2,獲取xml解析器newpullparser 3,設...