zoukankan      html  css  js  c++  java
  • 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>
  • 相关阅读:
    web字体
    解决input之间的空隙
    CSS基础:text-overflow:ellipsis溢出文本
    css3控制内容的可选择性
    设置dt height 保证dd在同一行
    extjs Ext.Ajax.request 同步和异步
    jquery 同步和异步请求
    freemarker 基础
    freemarker简单使用示例
    【数据结构】线性表顺序结构的操作---C/C++语言
  • 原文地址:https://www.cnblogs.com/shaomenghao/p/3905746.html
Copyright © 2011-2022 走看看