XmlPull解析

在看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) {
                }
            }
        }
    }
}









  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值