HttpEntity转换Inputstream(红色)加XmlPull解析

package com.bawei.xml; import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List; import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;
import org.apache.http.util.EntityUtils;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException; import com.bawei.vo.Good; import android.os.Bundle;
import android.app.Activity;
import android.util.Xml;
import android.view.Menu; public class MainActivity extends Activity {
private String URL = "http://www.sciencenet.cn/xml/iphoneInterface.aspx?type=news&nums=20&pass=";
private InputStream st;
private List<Good> list; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); new Thread() { @Override
public void run() {
// TODO Auto-generated method stub
HttpGet get = new HttpGet(URL);
HttpParams params = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(params, 5 * 1000);
HttpConnectionParams.setSoTimeout(params, 5 * 1100);
HttpClient client = new DefaultHttpClient(params);
try {
HttpResponse res = client.execute(get);
if (res.getStatusLine().getStatusCode() == 200) {
HttpEntity entity = res.getEntity();
st = entity.getContent();
System.out.println(st); list = new ArrayList<Good>();
XmlPullParser parser = Xml.newPullParser();
try {
try {
parser.setInput(st, "utf-8");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} int eventType = parser.getEventType();
String tagName = "";
Good good =null;
while (eventType != XmlPullParser.END_DOCUMENT) { switch (eventType) {
case XmlPullParser.START_DOCUMENT:
break; case XmlPullParser.START_TAG:
tagName = parser.getName();
if("item".equals(tagName)){
good = new Good(); }
break;
case XmlPullParser.TEXT:
String text = parser.getText();
if("title".equals(tagName)){
good.setTitle(text); }else if("link".equals(tagName)){
good.setLink(text); }else if("imgs".equals(tagName)){
good.setImgs(text); }else if("description".equals(tagName)){
good.setDescription(text); }else if("copyright".equals(tagName)){
good.setCopyright(text); }else if("pubDate".equals(tagName)){
good.setPubDate(text); }else if("comments".equals(tagName)){
good.setComments(text); }else break;
case XmlPullParser.END_TAG:
tagName= parser.getName();
if("item".equals(tagName)){
list.add(good);
System.out.println(list.toString());
good=null;
}
tagName="";
break; }
//继续
eventType=parser.next();
}
} catch (XmlPullParserException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}.start(); } }


package com.bawei.vo;
public class Good {
private String title;
private String link;
private String imgs;
private String description;
private String copyright;
private String pubDate;
private String comments;
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getLink() {
return link;
}
public void setLink(String link) {
this.link = link;
}
public String getImgs() {
return imgs;
}
public void setImgs(String imgs) {
this.imgs = imgs;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getCopyright() {
return copyright;
}
public void setCopyright(String copyright) {
this.copyright = copyright;
}
public String getPubDate() {
return pubDate;
}
public void setPubDate(String pubDate) {
this.pubDate = pubDate;
}
public String getComments() {
return comments;
}
public void setComments(String comments) {
this.comments = comments;
}
@Override
public String toString() {
return "Good [title=" + title + ", link=" + link + ", imgs=" + imgs
+ ", description=" + description + ", copyright=" + copyright
+ ", pubDate=" + pubDate + ", comments=" + comments + "]";
}
public Good(String title, String link, String imgs, String description,
String copyright, String pubDate, String comments) {
super();
this.title = title;
this.link = link;
this.imgs = imgs;
this.description = description;
this.copyright = copyright;
this.pubDate = pubDate;
this.comments = comments;
}
public Good() {
super();
}
}

另一种网络请求

private InputStream loginByServerByPost(String url1) {
InputStream rs = null;
URL url = null;
HttpURLConnection urlConn = null;
try {
url = new URL(url1);// 创建和服务器的连接对象URL
urlConn = (HttpURLConnection) url.openConnection();// 打开连接
urlConn.setConnectTimeout(5 * 1000);// 设置连接超时容忍时间
urlConn.setReadTimeout(5 * 1000);// 设置读取时间
if (urlConn.getResponseCode() == 200) {// 如果响应码为200表示响应成功,并且同时成功的相应了数据
// 获得服务器相应的数据,字节输入流(数据流),转换为缓存字符流便于读取
rs = urlConn.getInputStream();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return rs;// 转换为字符串,返回
};

HttpEntity转换Inputstream(红色)加XmlPull解析的更多相关文章
- Away3D引擎学习笔记(一)资源加载解析块
前文:Away3D断断续续用了一段时间了,三维相关的很多算法,计算转换还是有点绕,整理些自己觉得还有点意思东西,希望大家有用. 三维开始,Away3D构架你场景那几行代码各处都有,这里就不copy了, ...
- Hibernate懒加载解析
Hibernate懒加载解析 在Hibernate框架中,当我们要访问的数据量过大时,明显用缓存不太合适, 因为内存容量有限 ,为了减少并发量,减少系统资源的消耗,这时Hibernate用懒加载机制来 ...
- JAVA时间进行比较和转换,时间加减得到天数
转自:https://blog.csdn.net/iteye_8535/article/details/82246006 JAVA时间进行比较和转换,时间加减得到天数 1. 把时间类型的字符串转为DA ...
- <script>标签的加载解析执行
转自原文 <script>标签的加载解析执行 看了很多网上的文章,都是大同小异.总结一下.内部原理还没有搞清楚,有机会再学习. 一.<script>标签的加载解析执行顺序 ht ...
- poi解析word文档转换成html(包括图片解析)
需求:将本地上传的word文档解析并放入数据库中 代码: import java.io.ByteArrayOutputStream;import java.io.File;import java.io ...
- js 每日一更(数组转换成前端更容易解析的树状结构)
<!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content ...
- XMLPuLL解析
1 package com.bawei.day14_xmlpull; 2 3 import java.io.IOException; 4 import java.io.InputStream; 5 i ...
- Android之使用XMLPull解析xml(二)
转自:http://www.blogjava.net/sxyx2008/archive/2010/08/04/327885.html 介绍下在Android中极力推荐的xmlpull方式解析xml.x ...
- Android--使用XMLPull解析xml
在Android中极力推荐的xmlpull方式解析xml.xmlpull不只能够使用在Android上.相同也适用于javase,但在javase环境下.你须要自己去获取xmlpull所依赖的类库. ...
随机推荐
- Remoting and web services using Spring[摘自官网]
spring document url: http://docs.spring.io/spring/docs/ Using Hessian First we’ll have to create a n ...
- CNUOJ 0486 800401反质数
难度级别:A: 运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 将正整数 x 的约数个数表示为 g(x).例如,g(1)=1,g(4)=3, g ...
- JAVA实现复制文件夹
package com.filetest; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; impor ...
- 2016 年 50 个最佳的轻量级 JavaScript 框架和库
作者:IT程序狮链接:https://zhuanlan.zhihu.com/p/24598210来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 回顾今年已发布的 JS ...
- 简单实用JSTL标签库
1. JSTL标签库是一个什么东东? 简单来说,有了它你就可以在类似HTML的JSP页面里面运用一些高级语法,实现迭代.条件判断.XML文档操作.国际化标签.SQL标签. 2. 如何使用 ? 参考网址 ...
- The method getDispatcherType() is undefined for the type HttpServletRequest
在使用百度的ueditor的时候,老是报错: The method getDispatcherType() is undefined for the type HttpServletRequest 原 ...
- 对Git的理解
GIT属于计算机软件,功能是分布式版本控制系统,字面意思还挺有意思的:愚蠢或不开心的人,首先呢,这款软件是免费的.这款软件是免费的.这款软件是免费的.(重要的地方要说三遍)即使它不是免费的,在我大天朝 ...
- 关于如何查看MySQL版本:
方法一: 进入mysql cmd, status; 将显示当前mysql的version的各种信息. 方法二: 还是在mysql的cmd下,输入: select version(); 查看MySQL端 ...
- MVC5中EF6 Code First启动慢及间隙变慢优化的实践经验(转)
最近项目在使用EF了,mvc使用EF确实方便,因为添加功能的时候可以使用vs自动生成用ef的增.删.查.改的模板,大的提高的工作效率.但是很多人都遇到过用EF开发的程序在第一次访问的时候会比用ADO纯 ...
- win10本地搭建apache+php+mysql运行环境
首先下载所需软件: Vc2015:https://www.microsoft.com/zh-CN/download/details.aspx?id=48145 Vc2012:http://www.mi ...