首页 > 代码库 > android 利用pull解析xml数据
android 利用pull解析xml数据
数据如下
<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; }
android 利用pull解析xml数据
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。