数据如下
<videoNews>
<c:forEach items="${videos}" var="video" >
<news id="${video.getId() }" >
<title>${video.getName() }</title>
<time>${video.getTime() }</time>
</news>
</c:forEach>
</videoNews>
获取inputstream
String path="http://222.133.40.188:8080/androidServer/test";
URL url=new URL(path);
HttpURLConnection connection=(HttpURLConnection) url.openConnection();
connection.setConnectTimeout(5000);
connection.setRequestMethod("GET");
if(connection.getResponseCode()==200){
InputStream inStream=connection.getInputStream();
//获取文件流,将文件转换为xml
return parseXml(inStream);
}else{
return null;
}
解析inputstream--》xml
private List<News> parseXml(InputStream inStream) throws XmlPullParserException, IOException {
News news=null;
List<News> newsList=new ArrayList<News>();
XmlPullParser pull=Xml.newPullParser();
pull.setInput(inStream, "utf-8");
int event=pull.getEventType();
while(event!=XmlPullParser.END_DOCUMENT){
switch (event) {
case XmlPullParser.START_TAG:
if("news".equals(pull.getName())){
int id=Integer.parseInt(pull.getAttributeValue(0));
news=new News();
news.setId(id);
}else if("title".equals(pull.getName())){
String name=pull.getText();
news.setName(name);
}else if("time".equals(pull.getName())){
String time=pull.getText();
news.setTime(time);
}
break;
case XmlPullParser.END_TAG:
if("news".equals(pull.getName())){
newsList.add(news);
}
break;
}
event=pull.next();
}
return newsList;
}