HttpUtils解析xml数据

原创 2016年06月01日 11:28:50
public class MainActivity extends Activity implements IXListViewListener {

    private HttpUtils utils;
    private List<Bean> list;
    private int index = 0;
    private String url = "http://www.oschina.net/action/api/tweet_list?pageIndex=";
    private MyAdapter adapter;
    private Bean bean;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        utils = new HttpUtils();
  
        list = new ArrayList<Bean>();
        initData();
    }

    private void setAdapter(){
        if(adapter==null){
            adapter = new MyAdapter(this,list);
            lv.setAdapter(adapter);
        }else{
            adapter.notifyDataSetInvalidated();
        }
    }
    private void initData() {
        utils.send(HttpMethod.GET, url + (index++),
                new RequestCallBack<String>() {

                    @Override
                    public void onFailure(HttpException arg0, String arg1) {
                        Toast.makeText(MainActivity.this, "请求失败", 0).show();
                    }

                    @Override
                    public void onSuccess(ResponseInfo<String> arg0) {
                        String string = arg0.result;
                        ByteArrayInputStream inputstream = new ByteArrayInputStream(
                                string.getBytes());
                        XmlPullParser parser = Xml.newPullParser();
                        try {
                            parser.setInput(inputstream, "utf-8");
                            int type = parser.getEventType();
                            while (type != XmlPullParser.END_DOCUMENT) {
                                String name = parser.getName();
                                switch (type) {
                                case XmlPullParser.START_TAG:
                                    if ("tweet".equals(name)) {
                                        bean = new Bean();
                                    } else if ("id".equals(name)) {
                                        bean.id = Integer.parseInt(parser
                                                .nextText());
                                    } else if ("portrait".equals(name)) {
                                        bean.portrait = parser.nextText();
                                    } else if ("author".equals(name)) {
                                        bean.author = parser.nextText();
                                    } else if ("body".equals(name)) {
                                        bean.body = parser.nextText();
                                    } else if ("pubDate".equals(name)) {
                                        bean.pubDate = parser.nextText();
                                    } else if ("imgSmall".equals(name)) {
                                        bean.imgSmall = parser.nextText();
                                    } else if ("imgBig".equals(name)) {
                                        bean.imgBig = parser.nextText();
                                    }
                                    break;

                                case XmlPullParser.END_TAG:
                                    if ("tweet".equals(name)) {
                                        list.add(bean);
                                        bean = null;
                                    }
                                    break;
                                }
                                type = parser.next();
                            }
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        
                        setAdapter();
                    }
                });
    }
}

基于sax的xml解析 含源码 各种工具类(一)

1. 服务器端很简单直接在上次的服务器端代码上的Webcontent添加itcast.xml(在网上找的一个xml) 2.客户端搭建,主要流程如下 非主线程(Thread):使用HttpURLCo...
  • nothingl3
  • nothingl3
  • 2015年04月22日 13:14
  • 904

使用HttpClient进行http post/get方法的调用,以及使用dom4j解析xml

import java.io.IOException; import java.util.List; import javax.servlet.ServletInputStream; import ...
  • skmbw
  • skmbw
  • 2013年10月11日 13:26
  • 3358

解析HTTP POST方式请求的xml数据、本地XML文件数据, 并返回JSON字符串

SAX解析方式
  • xiaokui_wingfly
  • xiaokui_wingfly
  • 2014年09月26日 10:41
  • 3216

解析HTTP POST方式请求的xml数据、本地XML文件数据, 并返回JSON字符串

SAX解析方式
  • xiaokui_wingfly
  • xiaokui_wingfly
  • 2014年09月26日 10:41
  • 3216

使用HttpClient进行http post/get方法的调用,以及使用dom4j解析xml

import java.io.IOException; import java.util.List; import javax.servlet.ServletInputStream; import ...
  • skmbw
  • skmbw
  • 2013年10月11日 13:26
  • 3358

java对xml文件操作的工具类

java对xml文件操作的工具类
  • zhangxiaomin1992
  • zhangxiaomin1992
  • 2016年09月18日 15:17
  • 2149

如何使用xstream解析网络上请求的xml文件,解析并展示

//主界面 package com.example.mounth_test; import java.util.ArrayList; import java.util.List; import...
  • qq_33996621
  • qq_33996621
  • 2016年04月01日 10:10
  • 415

基于sax的xml解析 含源码 各种工具类(一)

1. 服务器端很简单直接在上次的服务器端代码上的Webcontent添加itcast.xml(在网上找的一个xml) 2.客户端搭建,主要流程如下 非主线程(Thread):使用HttpURLCo...
  • nothingl3
  • nothingl3
  • 2015年04月22日 13:14
  • 904

android中解析xml文件的工具类XmlUtils

----------------------------------------------------------------------------------------------------...
  • huwenzhi1991
  • huwenzhi1991
  • 2015年06月19日 10:02
  • 3259

解析XML格式的数据

在网上传输数据时最常用的格式有两种:XML和JSON。 1.解析XML格式 有两种解析方法:Pull和SAX 需要解析的XML格式的内容如下: 1 Google Maps 1...
  • ZhiChu_2025
  • ZhiChu_2025
  • 2016年08月14日 16:54
  • 1764
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:HttpUtils解析xml数据
举报原因:
原因补充:

(最多只允许输入30个字)