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>
  • 相关阅读:
    网易数帆实时数据湖 Arctic 的探索和实践
    私有化场景下大规模云原生应用的交付实践
    Apache Kyuubi 在 T3 出行的深度实践
    Win7 32位原版镜像无法安装VMware Tools
    VB.NET代码转C#的方法
    ArcGIS Pro导入OSGB倾斜摄影数据
    基于倾斜摄影测量的三维建模实验
    解决QTTabBar标签不能置顶的问题
    GIS中图斑椭球面积的计算
    ISaveAs导出栅格显示异常
  • 原文地址:https://www.cnblogs.com/shaomenghao/p/3905746.html
Copyright © 2011-2022 走看看