• 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>
  • 相关阅读:
    2.1 String的特性
    sql语句对列进行操作
    java 集合排序
    C#抽象类及其方法的学习
    haproxy+keepalived实现高可用负载均衡
    RPC框架简易实现
    WCF中的ServiceHost初始化两种方式
    C# Stopwatch与TimeSpan详解
    HBase入门篇
    nginx+tomcat+redis完成session共享
  • 原文地址:https://www.cnblogs.com/shaomenghao/p/3905746.html
Copyright © 2020-2023  润新知