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>
  • 相关阅读:
    [mysql]修改 mysql 数据库端口
    [Angular]基础饼图之我如何将鼠标显示内容的数字 " 1" 去掉
    大三总结
    有符号8位整数的冒泡排序
    康托逆展开
    判断计算机是大端还是小端存储方式及分析
    C语言细节——献给入门者(三)
    C语言复杂声明
    病毒篇
    C语言细节——献给初学者(二)
  • 原文地址:https://www.cnblogs.com/shaomenghao/p/3905746.html
Copyright © 2011-2022 走看看