微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

利用pull解析Xml

一小段需要解析的XML文件

<?xml version="1.0" encoding="UTF-8"?>
<infos>
 <city id="1">

<name>上海</name>
<tianqi>多云转晴</tianqi>
<feng>西北风3-4级</feng>

 </city>

 <city id="2">

<name>武汉</name>
<tianqi>暴雨</tianqi>
<feng>南风4-47级</feng>

 </city>

 <city id="3">

<name>日本</name>
<tianqi>晴天</tianqi>
<feng>西北风0-1级</feng>

 </city>

    </infos>

package service;

import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

import org.xmlpull.v1.XmlPullParser;

import android.util.Xml;

public class servicewe {
 
    public static List<Wheatherin> getWheatherins(InputStream is)throws Exception{
        XmlPullParser pareser=Xml.newPullParser();
        pareser.setInput(is,"utf-8");
        List<Wheatherin> wheatherin=null;
         Wheatherin wheatherino =null;
        int type=pareser.getEventType();
        while(type!=XmlPullParser.END_DOCUMENT){
            switch(type){
            case XmlPullParser.START_TAG:
                if("infos".equals(pareser.getName())){
                    wheatherin = new ArrayList<Wheatherin>();
                    
                }else if("city".equals(pareser.getName())){
                    wheatherino =new Wheatherin();                    
                    String isds=pareser.getAttributeValue(0);
                    
                   wheatherino.setId(Integer.parseInt(isds));
                }else if("name".equals(pareser.getName())){
                    String name =pareser.nextText();
                    wheatherino.setName(name);
                    
                    
                    
                }else if("tianqi".equals(pareser.getName())){
                    String tianqi =pareser.nextText();
                    wheatherino.setTianqi(tianqi);
                    
                    
                    
                }else if("feng".equals(pareser.getName())){
                    String feng =pareser.nextText();
                    wheatherino.setFeng(feng);
                    
                    
                    
                }
                break;
              case XmlPullParser.END_TAG:
                if("dity".equals(pareser.getName())){
                    wheatherin.add(wheatherino);
                    wheatherino=null;
                    
                }
                
                
                
            
              break;
            
            }
            
            type=pareser.next();
        }
        return wheatherin;
    }
    
}

  tv=(TextView)findViewById(R.id.tv);
          try {
            List<Wheatherin> in = servicewe.getWheatherins(MainActivity.class.getClassLoader().getResourceAsstream("whater.xml"));
            StringBuffer sb=new StringBuffer();
            for(Wheatherin ins:in){
                String ser=ins.toString();
                sb.append(ser);
                sb.append("\n");
                
            }
            tv.setText(sb);
        } catch (Exception e) {
            
            e.printstacktrace();
            Toast.makeText(getApplicationContext(),"天气解析失败",0).show();
        }
    }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类