android 利用pull解析xml数据
16lz
2021-01-24
数据如下
<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系统源码导入到eclipse
- 安装APK文件的错误码定义
- Android:week 11总结 内容提供者、数据库
- 下拉菜单中自动亮度调节&P 上背光调节
- Android(安卓)studio 编译错误:Execution failed for task ':app:
- Android(安卓)数据库SQLite的使用简单Demo
- Android(安卓)eclipse项目转成Android(安卓)studio项目遇到的问
- Android添加room依赖的正确姿势(附带完整流程)
- android Contentprovider配置记录