XmlPull解析

来源:互联网 发布:淘宝怎么贷款额度 编辑:程序博客网 时间:2024/05/22 12:23

在看activity    setContentView(@LayoutRes int layoutResID)  时使用的是XmlPull 解析  回顾了一下 

首先创建一个文件 举例文件名 text.xml,放到了assets 目录下  


<?xml version="1.0" encoding="utf-8"?><company>    <staff group="1" id="1">        <name>张三</name>        <sex></sex>        <age>26</age>        <email>zhangsan@163.com</email>        <birthday>1991-06-08</birthday>        <memo>今晚加班</memo>    </staff>    <staff group="3" id="2">        <name>李四</name>        <sex></sex>        <age>26</age>        <email>lisi@163.com</email>        <birthday>1991-06-08</birthday>        <memo>下班前会议</memo>    </staff></company>


解析类,常用方法解析类中添加注释比较常用的进行列举


public class XmlPull {    private static final String TAG = "XmlPull ";    public static void xmlPares(Context context) {        InputStream in = null;        try {            //创建解析工厂            XmlPullParserFactory factory = XmlPullParserFactory.newInstance();            XmlPullParser pullParser = factory.newPullParser();            in = context.getAssets().open("test.xml"); //此处随意使用input            pullParser.setInput(in, "utf-8");            int type = pullParser.getEventType();            while (type != XmlPullParser.END_DOCUMENT) {                switch (type) {                    case XmlPullParser.START_TAG:                    case XmlPullParser.END_TAG:                        String tagName = pullParser.getName();//获取标签的名称                        int count = pullParser.getAttributeCount();//属性个数                        for (int i = 0; i < count; i++) {                            String name = pullParser.getAttributeName(i);//属性名称                            String value = pullParser.getAttributeValue(i);//属性值                            Log.e(TAG, "name: " + name + " value: " + value);                        }                        Log.e(TAG, "tag : " + tagName);                        break;                    case XmlPullParser.TEXT:                        String text = pullParser.getText();//获取文本                        Log.e(TAG, "text : " + text);                        break;                }                type = pullParser.next();            }        } catch (Exception e) {            e.printStackTrace();        } finally {            if (in != null) {                try {                    in.close();                } catch (Throwable ignore) {                }            }        }    }}









原创粉丝点击