码迷,mamicode.com
首页 > 移动开发 > 详细

Android 学习之pull解析Xml

时间:2014-07-02 20:21:15      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:android   style   blog   color   os   art   

一、 PUll解析Xml

 

public static List<Person> xmlParser(InputStream xml) throws Exception
    {
        List<Person> persons=null;
        Person p=null;
        XmlPullParser parser=Xml.newPullParser();
        parser.setInput(xml, "UTF-8");
        int event=parser.getEventType();
        while(event!=XmlPullParser.END_DOCUMENT)
        {
            switch (event) {
            case XmlPullParser.START_DOCUMENT:
                persons=new ArrayList<Person>();
                break;
            case XmlPullParser.START_TAG:
                if (parser.getName().equals("person")) 
                {
                    p=new Person();
                    p.setId(Integer.parseInt(parser.getAttributeValue(0)));
                }
                if (parser.getName().equals("name")) 
                {
                    p.setName(parser.nextText());
                }
                if(parser.getName().equals("age"))
                {
                    p.setAge(Integer.parseInt(parser.nextText()));
                }
                break;
                case XmlPullParser.END_TAG:
                if (parser.getName().equals("person")) 
                {
                    persons.add(p);
                    p=null;
                }
                break;
            }
            event=parser.next();
        }
        return persons;
    }

 二、以Xml格式保存信息

public static void saveAsXml(List<Person> persons,OutputStream os)throws Exception
    {
        XmlSerializer xmlSerial= Xml.newSerializer();
        xmlSerial.setOutput(os, "UTF-8");
        xmlSerial.startDocument("UTF-8", true);
        xmlSerial.startTag(null, "persons");
        for(Person person : persons)
        {
            xmlSerial.startTag(null, "person");
            xmlSerial.attribute(null, "id",String.valueOf(person.getId()));
            xmlSerial.startTag(null, "name");
            xmlSerial.text(person.getName());
            xmlSerial.endTag(null, "name");
            xmlSerial.startTag(null, "age");
            xmlSerial.text(String.valueOf(person.getAge()));
            xmlSerial.endTag(null, "age");        
            xmlSerial.endTag(null, "person");
        }
        xmlSerial.endTag(null, "persons");
        xmlSerial.endDocument();
        os.flush();
        os.close();
    }

 

Android 学习之pull解析Xml,布布扣,bubuko.com

Android 学习之pull解析Xml

标签:android   style   blog   color   os   art   

原文地址:http://www.cnblogs.com/yunim2014/p/3819307.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!