转载请注明出处:http://blog.csdn.net/droyon/article/details/9346885

Pull方式解析xml文件

PullParseXml.java(在activity的onCreate等方法中执行parseXml方法运行即可)

package com.example.androidtest;import java.io.IOException;import java.util.ArrayList;import org.xmlpull.v1.XmlPullParserException;import android.content.Context;import android.content.res.XmlResourceParser;import android.util.Log;public class PullParseXml {private static final String LOG_TAG = "PullParseXml";private static final String sTag1 = "test_item";private static final String sTag2 = "test_folder";private static ArrayList<String> sAll = new ArrayList<String>();public static void parseXml(Context context){XmlResourceParser parse = context.getResources().getXml(R.xml.test_config);try {while(parse.getEventType() != XmlResourceParser.END_DOCUMENT){if(parse.getEventType() == XmlResourceParser.START_TAG){String tagName = parse.getName();Log.d(LOG_TAG, "tag name is:"+tagName);if(sTag1.equals(tagName)||sTag2.equals(tagName)){String name = parse.getAttributeName(0);Log.d(LOG_TAG, "attributeName is:"+name);//String value = parse.getAttributeValue(0);String value = parse.getAttributeValue(null,name);Log.d(LOG_TAG, "attributeValue is:"+value);String text = parse.nextText();Log.d(LOG_TAG, "attributeText is:"+text);String temp = value + " = " + text;sAll.add(temp);}}parse.next();}} catch (XmlPullParserException e) {e.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}for(String s : sAll){Log.d(LOG_TAG, "xml parse is:"+s);}}}

xml文件:test_config.xml

<?xml version="1.0" encoding="utf-8"?><test_config version="1">    <test_item item_name="item1">我们</test_item>    <test_item item_name="item2">都是</test_item>    <test_folder folder_name="folder1">好</test_folder>    <test_folder folder_name="folder2">孩子</test_folder></test_config>


测试结果:

01-01 14:11:51.350: D/PullParseXml(9370): xml parse is:item1 = 我们01-01 14:11:51.350: D/PullParseXml(9370): xml parse is:item2 = 都是01-01 14:11:51.350: D/PullParseXml(9370): xml parse is:folder1 = 好01-01 14:11:51.350: D/PullParseXml(9370): xml parse is:folder2 = 孩子

更多相关文章

  1. 一款常用的 Squid 日志分析工具
  2. GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
  3. RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
  4. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  5. ap6234移植
  6. android 获取系统中各种类型音量及对音量设置
  7. android studio上imageloader初探
  8. cocos2d-x 遇到的错误与解决方法。make: *** No rule to make ta
  9. Android(安卓)Handler类

随机推荐

  1. Android(安卓)HandlerThread全面解析
  2. Android之Intent全面解析及用法
  3. android国际化
  4. Android 之类库常用包
  5. 6、Android中的NFC技术
  6. android实现动画效果的方法onDrawFrame
  7. Android权限列表permission说明
  8. Android 自定义TextView去除paddingTop和
  9. android studio 更新3.0后多渠道打包配置
  10. (Android)搭建NDK开发环境 (二)