zoukankan      html  css  js  c++  java
  • Android解析xml数据

    在移动开发中,服务器常以xml形式向Android传递数据,这个时候就需要解析服务器传递过来的xml了,以下图为例,服务器传过来的数据如图所示



    public class XmlParserUtils {
        //解析xml的业务方法
        public List<News> parserXml(InputStream in) throws Exception {
         List<News> newsLists=null;
         News news=null;
         //获取xml的解析器
         XmlPullParser xmlPullParser= Xml.newPullParser();
         //设置解析器要解析的内容
         xmlPullParser.setInput(in,"utf-8");
         //获取解析的事件类型
         int type=xmlPullParser.getEventType();
         //不停的向下解析
         while (type!=XmlPullParser.END_DOCUMENT){
          //具体判断一下解析的是开始节点还是结束节点
          switch (type){
           case XmlPullParser.START_TAG://解析开始节点
            //具体判断解析的是哪个开始标签
            if("newss".equals(xmlPullParser.getName())){
             //创建一个list集合
             newsLists=new ArrayList<News>();
            }
            else if ("news".equals(xmlPullParser.getName())){
             news=new News();
            }
            else if("title".equals(xmlPullParser.getName())){
             news.setTitle(xmlPullParser.nextText());
            }
            else if ("description".equals(xmlPullParser.getName())){
             news.setDescription(xmlPullParser.nextText());
            }
            else if ("image".equals(xmlPullParser.getName())){
             news.setImage(xmlPullParser.nextText());
            }
            else if ("type".equals(xmlPullParser.getName())){
             news.setType(xmlPullParser.nextText());
            }
            else if ("comment".equals(xmlPullParser.getName())){
             news.setComment(xmlPullParser.nextText());
            }
            break;
           case XmlPullParser.END_TAG:    //解析结束标签
            if ("news".equals(xmlPullParser.getName())){
             //把Javabean添加到集合中
                newsLists.add(news);
            }
            break;
          }
          //不断向下解析
          type=xmlPullParser.next();
         }
         return newsLists ;
        }
    }

    
       
    
  • 相关阅读:
    android学习(2) 多线程的理解
    activity学习(1) 生命周期理解
    webkit.net使用方法日记
    微信小程序入门一
    ES入门笔一
    node八-核心模块、包
    require、缓存
    node七-required、缓存
    Node六-模块化
    Node笔记五-进程、线程
  • 原文地址:https://www.cnblogs.com/gwd1154978352/p/6831903.html
Copyright © 2011-2022 走看看