XML文件解析工具類pull解析
public class XMLParser {
/**
* 解析服務器的配置文件
* @param is 從服務器獲得配置的文件的流
*/
public static UpdateInfo parser(InputStream is){
UpdateInfo info=null;
try {
//獲得pull解析實例
XmlPullParserFactory factory=XmlPullParserFactory.newInstance();
XmlPullParser xmlParser=factory.newPullParser();
//初始化解析器
xmlParser.setInput(is, "UTF-8");
int eventType=xmlParser.getEventType();
//文檔沒有解析完
while(eventType!=XmlPullParser.END_DOCUMENT){
switch (eventType) {
case XmlPullParser.START_TAG:
if(xmlParser.getName().equals("info")){
info=new UpdateInfo();
}else if(xmlParser.getName().equals("version")){
info.setVersion(xmlParser.nextText());
}else if(xmlParser.getName().equals("desc")){
info.setDesc(xmlParser.nextText());
}else if(xmlParser.getName().equals("apkurl")){
info.setApkUrl(xmlParser.nextText());
}
break;
}
eventType=xmlParser.next();
}
} catch (XmlPullParserException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return info;
}
} 對應的update.xml <?xml version="1.0" encoding="utf-8"?>
<info>
<version>2.0</version>
<description>xxxxxxxxxx</description>
<apkurl>http://192.168.253.1:8080/xxxxxxx.apk</apkurl>
</info> 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!