// 解析函数 private TodayWeather parseXML(String xmldata) { TodayWeather todayweather = null; try { int fengxiangCount = 0; int fengliCount = 0; int dateCount = 0; int highCount = 0; int lowCount = 0; int typeCount = 0; XmlPullParserFactory fac = XmlPullParserFactory.newInstance(); XmlPullParser par = fac.newPullParser(); par.setInput(new StringReader(xmldata)); int eventType = par.getEventType(); while (eventType != XmlPullParser.END_DOCUMENT) { switch (eventType) { case XmlPullParser.START_DOCUMENT: break; case XmlPullParser.START_TAG: if (par.getName().equals("resp")) todayweather = new TodayWeather(); if (todayweather != null) { if (par.getName().equals("city")) { eventType = par.next(); todayweather.setCity(par.getText()); } else if (par.getName().equals("updatetime")) { eventType = par.next(); todayweather.setUpdatetime(par.getText()); } else if (par.getName().equals("shidu")) { eventType = par.next(); todayweather.setShidu(par.getText()); } else if (par.getName().equals("wendu")) { eventType = par.next(); todayweather.setWendu(par.getText()); } else if (par.getName().equals("pm25")) { eventType = par.next(); todayweather.setPm25(par.getText()); } else if (par.getName().equals("quality")) { eventType = par.next(); todayweather.setQuality(par.getText()); } else if (par.getName().equals("fengxiang") && fengxiangCount == 0) { eventType = par.next(); todayweather.setFengxiang(par.getText()); fengxiangCount++; } else if (par.getName().equals("fengli") && fengliCount == 0) { eventType = par.next(); todayweather.setFengli(par.getText()); fengliCount++; } else if (par.getName().equals("date") && dateCount == 0) { eventType = par.next(); todayweather.setDate(par.getText()); dateCount++; } else if (par.getName().equals("high") && highCount == 0) { eventType = par.next(); todayweather.setHigh(par.getText()); highCount++; } else if (par.getName().equals("low") && lowCount == 0) { eventType = par.next(); todayweather.setLow(par.getText()); lowCount++; } else if (par.getName().equals("type") && typeCount == 0) { eventType = par.next(); todayweather.setType(par.getText()); typeCount++; } } break; case XmlPullParser.END_TAG: break; } eventType = par.next(); } } catch (Exception e) { e.printStackTrace(); } return todayweather; }