android pull 解析xml方式

2021-06-28 08:45:15 字數 1738 閱讀 2757

先獲取到乙個xmlpullparse***ctory例項

通過例項得到xmlpullparser物件

呼叫xmlpullparser的setinput()方法將服務返回的xml資料設定進去開始解析

通過geteventtype()可以得到當前的解析事件

while迴圈不斷地進行解析

如果當前的解析事件不等於xmlpullparser.end_document,說明解析工作還沒完成,呼叫next()方法後可以獲取下乙個解析事件.

在while迴圈中,我們通過getname()方法得到當前結點的名字,如果發現結點名字等於id…等.就呼叫nexttext()方法來獲取結點內具體的內容

pull解析xml檔案,和sax和dom一樣 都可以脫離android單獨使用,pull和sax的原理一樣,不一樣的地方是pull讀取xml檔案後呼叫方法返回的是數字, 

讀取到xml的宣告返回數字0 start_document; 

讀取到xml的結束返回數字1 end_document ; 

讀取到xml的開始標籤返回數字2 start_tag 

讀取到xml的結束標籤返回數字3 end_tag 

讀取到xml的文字返回數字4 text 

被解析的xml文件和

android dom 解析xml方式

中的xml文件一樣,命名為pulltest.xml.

[html]view plain

copy

private string pullpar***ml(inputstream inputstream)   

result += "\n";  

} else if ("person".equals(nodename))  else if ("chinese".equals(nodename))  else if ("english".equals(nodename))   

break;  

case xmlpullparser.end_tag:  

//在解析到乙個group節點完成時,退出解析xml檔案  

//                  if("group".equals(nodename))  

break;  

default:  

break;  

}  //整個xml檔案全部解析  

if(isparse)  

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

return result;  

}  

pull和sax不同最主要的體現在pull可以由客戶隨時終止解析xml.sax解析,只能從文件頭一直讀到尾,中間不能停止也不能對檔案進行修改。直到解析完了整個文件才會返回。

[html]view plain

copy

//在解析到乙個group節點完成時,退出解析xml檔案  

//                  if("group".equals(nodename))  

只要滿足退出解析的條件,只需要設定如下**即可。

[html]view plain

copy

eventtype

= xmlpullparser

.end_document;   

pull解析方式用到的方法,大部分我都在**中注釋了。

android PULL解析xml檔案

第一步 取得pull解析器 xmlpullparser parser xml.newpullparser 第二步 通過pull解析器取得xml檔案的事件型別 int eventtype parser.geteventtype 第三步 根據相應的事件型別進行xml解析 xmlpullparser.en...

android pull 解析xml方式

pull解析xml檔案,和sax和dom一樣 都可以脫離android單獨使用,pull和sax的原理一樣,不一樣的地方是pull讀取xml檔案後呼叫方法返回的是數字,讀取到xml的宣告返回數字0 start document 讀取到xml的結束返回數字1 end document 讀取到xml的開...

Android PULL解析XML檔案(二)

如果在乙個xml 文件中我們只需要前面一部分資料,但是使用 sax方式或dom方式會對整個文件進行解析,儘管 xml文件中後面的大部分資料我們其實都不需要解析,因此這樣實際上就浪費了處理資源。使用pull方式正合適。pull解析器和sax解析器雖有區別但也有相似性。他們的區別為 sax解析器的工作方...