Pull解析Xml

package com.shz.services;

import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

import org.xmlpull.v1.XmlPullParser;

import android.util.Xml;

import com.shz.domain.SmsInfo;

public class SmsService {
    public static List<SmsInfo> getSmsList(InputStream is) throws Exception
    {
        List<SmsInfo> list = null;
        SmsInfo sms = null;
        XmlPullParser xmlParser = Xml.newPullParser();
        xmlParser.setInput(is, "utf-8");
        
        int type = xmlParser.next();
        while(type != XmlPullParser.END_DOCUMENT)
        {
            switch (type) {
            
            case XmlPullParser.START_TAG:
                if(xmlParser.getName().equals("Smss"))
                {
                    list = new ArrayList<SmsInfo>();
                }
                else if(xmlParser.getName().equals("Sms"))
                {
                    sms = new SmsInfo();
                    sms.setId(Integer.parseInt(xmlParser.getAttributeValue(0)));
                } 
                else if(xmlParser.getName().equals("type"))
                {
                    sms.setType(Integer.parseInt(xmlParser.nextText()));
                } 
                else if(xmlParser.getName().equals("datetime"))
                {
                    sms.setDatetime(xmlParser.nextText());
                } 
                else if(xmlParser.getName().equals("body"))
                {
                    sms.setBody(xmlParser.nextText());
                } 
                else if(xmlParser.getName().equals("address"))
                {
                    sms.setAddress(xmlParser.nextText());
                } 
                break;
            case XmlPullParser.END_TAG:
                if(xmlParser.getName().equals("Sms"))
                {
                    list.add(sms);
                    sms = null;
                }
                break;
            default:
                break;
            }
            type = xmlParser.next();
        }
        
        return list;
    }
}
<?xml version='1.0' encoding='utf-8' standalone='yes'?>
<Smss>
    <Sms id="0" >
        <type>1</type>
        <datetime>2014-08-09 15:08:23</datetime>
        <body>明天过来吃饭0</body>
        <address>15012345678</address>
    </Sms>
    <Sms id="1" >
        <type>1 </type>
        <datetime>2014-08-09 15:08:23</datetime>
        <body>明天过来吃饭1</body>
        <address>15012345679</address>
    </Sms>
</Smss>

 

posted @ 2014-08-11 21:54  萌浩  阅读(160)  评论(0编辑  收藏  举报