首页 > 其他 > 详细

XmlPull

时间:2016-03-04 22:33:17      阅读:152      评论:0      收藏:0      [点我收藏+]
        XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
        // 创建解析器。
        XmlPullParser parser = factory.newPullParser();
        //FileInputStream fis = new FileInputStream("f:\\students.xml");
        parser.setInput(new FileReader("f:\\students.xml"));
        int type = parser.getEventType();// 得到事件常量。
        System.out.println(type);
        String tag;
        List<Student> list = null;
        Student stu = null;
        while (type != XmlPullParser.END_DOCUMENT) {
            // 得到标记名称。
            tag = parser.getName();
            switch (type) {
            case XmlPullParser.START_DOCUMENT:
                System.out.println("文档开始解析");
                list = new ArrayList<Student>();

                break;
            case XmlPullParser.START_TAG:// 开始标记
                if ("student".equals(tag)) {
                    stu = new Student();
                    //查看开始标记的属性名称和属性值。再进行判断。
                    /*
                    for(int i=0;i<parser.getAttributeCount();i++){
                    String name = parser.getAttributeName(i);
                    String value = parser.getAttributeValue(i);
                    //再进行判断。
                    }*/
                } else if ("id".equals(tag)) {
                    // 得到标记之间的内容。
                    String str = parser.nextText();
                    System.out.println(tag + ":" + str);
                    stu.id = Integer.parseInt(str);
                } else if ("name".equals(tag)) {
                    stu.name = parser.nextText();
                } else if ("age".equals(tag)) {
                    String str = parser.nextText();
                    System.out.println(tag + ":" + str);
                    stu.age = Integer.parseInt(str);
                }
                break;
            case XmlPullParser.END_TAG:// 结束标记
                if ("student".equals(tag)) {
                    list.add(stu);
                }
                break;
            default:
                break;
            }
            //跳到下一个标记,得到事件常量。
            type = parser.next();
        }
        //遍历集合
        for(Student s:list){
            System.out.println(s);
        }
    }

 

XmlPull

原文:http://www.cnblogs.com/anni-qianqian/p/5243512.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!