Android 解析Xml 的方式有多种,SAX、DOM、Pull 都可以实现,这里使用的是其中的一种.
下面的代码主要是在IntentService 里面解析一个xml 白名单的.主要是记录一下,时间长了容易忘记.

public class NameListServices extends IntentService {private final static String TAG = "NameListServices";private List infos = new ArrayList();public NameListServices() {super("NameListServices");}@Overrideprotected void onHandleIntent(Intent intent) {Log.i(TAG, "onHandleIntent");if(intent != null) {String uri = intent.getStringExtra("uri");InputStream is = null;if(uri != null) {try {is = getContentResolver().openInputStream(Uri.fromFile(new File(uri)));readXml(is);//updateInfoToDB();} catch (FileNotFoundException e) {e.printStackTrace();if(is != null) {try {is.close();} catch (IOException e1) {e1.printStackTrace();}}}}}}private void readXml(InputStream is) {Log.i(TAG, "readXml");try {XmlPullParser parser = Xml.newPullParser();parser.setInput(is, "UTF-8");int eventType = parser.getEventType();AppInfo appInfo ;while(eventType != XmlPullParser.END_DOCUMENT) {switch (eventType) {case XmlPullParser.START_DOCUMENT:break;case XmlPullParser.START_TAG:String name = parser.getName();if(name != null && name.trim().equals("AppInfo")) {String pkg = parser.getAttributeValue(null,"pkg");String type = parser.getAttributeValue(null,"type");appInfo = new AppInfo(pkg, type);Log.i(TAG, "appInfo:" + appInfo);infos.add(appInfo);}break;case XmlPullParser.END_TAG:break;default:break;}eventType = parser.next();}}catch (XmlPullParserException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}finally {if(is != null) {try {is.close();} catch (IOException e) {e.printStackTrace();}}}}}
<?xml version="1.0" encoding="utf-8"?>                        

 

更多相关文章

  1. 转:Android 对话框【Dialog】去除白色边框代码
  2. Github android客户端源代码分析之一:环境搭建
  3. Android Studio GitHub 提交项目代码
  4. 第一行代码 Android读书笔记(一)
  5. 【初用Android Studio】快捷键之代码提示
  6. Android与JS代码交互
  7. 将Eclipse代码导入到Android Studio的两种方式

随机推荐

  1. Android(安卓)不要把android做成ios!
  2. Android单线程模型相关概念详解
  3. 微软的 Android(安卓)计划:邪恶的天才计划
  4. Android真的很火吗?
  5. 有关Android线程的学习
  6. Android(安卓)程式开发:(一)详解Activity —
  7. Android基础备忘(android中的分享功能)
  8. 《程序人生 —— Android实现录音、播音
  9. 让Android(安卓)变身回一台真正的Linux系
  10. Android进程与线程基本知识一