Android解析XML之XmlPullParser
public void getXML(String url) throws XmlPullParserException,IOException,URISyntaxException { String xmlString=downloadXML(url); XmlPullParserFactory factory=XmlPullParserFactory.newInstance(); factory.setNamespaceAware( true ); XmlPullParser parser=factory.newPullParser(); parser.setInput( new StringReader(xmlString)); int eventType=parser.getEventType(); List<Forecast_conditions> conditionsList= new ArrayList<Forecast_conditions>(); Forecast_conditions forecast_conditions= null ; while (eventType != XmlPullParser.END_DOCUMENT) { if (eventType == XmlPullParser.START_DOCUMENT) { System.out.println( "Start Document" ); } else if (eventType== XmlPullParser.START_TAG) { System.out.println( "Start Tag " +parser.getName()); if (parser.getName().equals( "forecast_conditions" )) { forecast_conditions= new Forecast_conditions(); } if (parser.getName().equals( "day_of_week" )) { forecast_conditions.setDay_of_week(parser.getAttributeValue( 0 )); } else if (parser.getName().equals( "low" )) { forecast_conditions.setLow(parser.getAttributeValue( 0 )); } else if (parser.getName().equals( "high" )) { forecast_conditions.setHigh(parser.getAttributeValue( 0 )); } else if (parser.getName().equals( "icon" )) { try { forecast_conditions.setIcon(parser.getAttributeValue( 0 )); } catch (Exception e) { // TODO: handle exception } } else if (parser.getName().equals( "condition" )) { try { forecast_conditions.setCondition(parser.getAttributeValue( 0 )); } catch (Exception e){ } } /* int size=parser.getAttributeCount(); for (int i = 0; i < size; i++) { System.out.println("AttributeName "+parser.getAttributeName(i)); System.out.println("AttributeValue"+parser.getAttributeValue(i)); } */ } else if (eventType== XmlPullParser.END_TAG){ System.out.println( "End Tag " +parser.getName()); if (parser.getName().equals( "forecast_conditions" )) { conditionsList.add(forecast_conditions); } } else if (eventType==XmlPullParser.TEXT){ System.out.println( "Text " +parser.getText()); } eventType=parser.next(); } System.out.println( "End Document" ); bindToListView(conditionsList); //XmlUtils. } 本实例是不完整实例。 初学Android, 很多地方不规范。 仅供参考。 |
作者:SIR@君
Email:sirjun@foxmail.com
云购:注册立送五元红包,1元也能抢购IPhone啦!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库