Android解析自定义xml文件--Pull解析xml文件,测试demo(方案三)
16lz
2021-01-25
转载请注明出处: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 = 孩子
更多相关文章
- 一款常用的 Squid 日志分析工具
- GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
- RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
- Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
- ap6234移植
- android 获取系统中各种类型音量及对音量设置
- android studio上imageloader初探
- cocos2d-x 遇到的错误与解决方法。make: *** No rule to make ta
- Android(安卓)Handler类