您的位置:首页 > 理论基础 > 计算机网络

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();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: