xml之pull解析

来源:互联网 发布:qq服务器端口 编辑:程序博客网 时间:2024/05/16 01:40
private void jiexi() {        // TODO Auto-generated method stub        try {            // 获取文件            InputStream in = getAssets().open("NewFile.xml");            // 构造工厂            XmlPullParserFactory factory = XmlPullParserFactory.newInstance();            // 得到xml解析器‘            XmlPullParser newPullParser = factory.newPullParser();            // 将文件放进解析器中,开始解析            newPullParser.setInput(in, "utf-8");            // 得到事件的类型            int eventType = newPullParser.getEventType();            // 循环遍历-----判断不是结束            while (eventType != XmlPullParser.END_DOCUMENT) {                String nodename = newPullParser.getName();                // 选择类型                switch (eventType) {                case XmlPullParser.START_TAG://开始一个节点                    if (nodename.equals("student")) {                        s = new StudentBean();                        //得到属性值                        s.setId(newPullParser.getAttributeValue(0));                        s.setGroup(newPullParser.getAttributeValue(1));                    }else if ("name".equals(nodename)) {                        s.setName(newPullParser.nextText());                    }else if ("age".equals(nodename)) {                        s.setAge(newPullParser.nextText());                    }else if ("sex".equals(nodename)) {                        s.setSex(newPullParser.nextText());                    }else if ("email".equals(nodename)) {                        s.setEmail(newPullParser.nextText());                    }else if ("birthday".equals(nodename)) {                        s.setBirthday(newPullParser.nextText());                    }else if ("memo".equals(nodename)) {                        s.setMemo(newPullParser.nextText());                    }                    break;                case XmlPullParser.END_TAG:                    if ("student".equals(nodename)) {                        list.add(s);                        //s=null;                    }                    break;                default:                    break;                }                //下移一个节点    进入下一个元素并触发相应的事件                eventType = newPullParser.next();            }        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (XmlPullParserException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        for (StudentBean sb:list) {            System.out.println(sb.toString());        }    }}
0 0
原创粉丝点击