httpUtils请求XML数据
2016-07-01 08:28
387 查看
通过httpUtils请求网络xml数据进行解析
// 请求网络数据 HttpUtils utils = new HttpUtils(); String path = "http://www.oschina.net/action/api/tweet_list?uid=" + 0 + "&pageIndex=" + i + "&pageSize=" + 20; utils.send(HttpMethod.GET, path, new RequestCallBack<String>() { @Override public void onFailure(HttpException arg0, String arg1) { Toast.makeText(getApplicationContext(), "请求网络失败,请检查网络数据", 1) .show(); } @Override public void onSuccess(ResponseInfo<String> arg0) { String string = arg0.result; //将请求到的数据转化为流 ByteArrayInputStream inputStream = new ByteArrayInputStream( string.getBytes()); List<News> list = GetXml.getinput(inputStream); if (str.equals("刷新")) { listAll.clear(); listAll.addAll(list); } else { listAll.addAll(list); } setadapter(); } private void setadapter() { // 判断adapter是否存在 if (adapter == null) { adapter = new Myadapter(MainActivity.this, listAll); xListView.setAdapter(adapter); } else { adapter.notifyDataSetChanged(); } } });
解析XML数据的方法
try { XmlPullParser Parser = Xml.newPullParser(); Parser.setInput(inputStream, "utf-8"); // 得到类型 int type = Parser.getEventType(); while (type != XmlPullParser.END_DOCUMENT) { // 得到name String name = Parser.getName(); switch (type) { case XmlPullParser.START_TAG: if ("tweets".equals(name)) { nList = new ArrayList<News>(); } else if ("tweet".equals(name)) { news = new News(); } else if ("id".equals(name)) { news.id = Parser.nextText(); } else if ("portrait".equals(name)) { news.portrait = Parser.nextText(); } else if ("author".equals(name)) { news.author = Parser.nextText(); } else if ("authorid".equals(name)) { news.authorid = Parser.nextText(); } else if ("body".equals(name)) { news.body = Parser.nextText(); } else if ("commentCount".equals(name)) { news.commentCount = Parser.nextText(); } else if ("pubDate".equals(name)) { news.pubDate = Parser.nextText(); }else if ("imgSmall".equals(name)) { news.imgSmall = Parser.nextText(); } break; case XmlPullParser.END_TAG: if ("tweet".equals(name)) { nList.add(news); } break; } type = Parser.next(); } } catch (Exception e) { e.printStackTrace(); }
相关文章推荐
- HTTPUTILS获取网络数据
- HttpClient、HttpUrlConnection请求数据的方式
- OkHttp Post请求方式
- Httputils请求数据Pull解析
- 写下几次坑爹的U盘装系统过程
- 转载 HTTP常见状态码分析 200 301 302 404 500
- 网络规划
- 网络规划
- http调试工具,linux调试工具
- http调试工具,linux调试工具
- 百度贴吧的网络爬虫(v0.4)源码及解析
- 百度贴吧的网络爬虫(v0.4)源码及解析
- 高性能网络开发库
- 高性能网络开发库
- 开源爬虫汇总表,83款 网络爬虫开源软件
- 开源爬虫汇总表,83款 网络爬虫开源软件
- 同网段和不同网段设备通信原理详解
- 无法将 Ethernet0 连接到虚拟网络"VMnet0" 详细信息可以在 vmware.log
- Asp.Net服务器发送HTTP标头后无法设置内容类型的问题解决
- Wrong03-App Transport Security has blocked a cleartext HTTP (http://) resource load since it is i