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>
  • 相关阅读:
    解决android.os.NetworkOnMainThreadException
    android 模拟器对应键盘快捷键
    Android上解析Json格式数据
    命令行的由来
    Linux测网速
    cacti
    判断端口是否开放
    Linux中运行c程序,与系统打交道
    python 多线程
    Leetcode 编程训练(转载)
  • 原文地址:https://www.cnblogs.com/shaomenghao/p/3905746.html
Copyright © 2011-2022 走看看