Xml android pullParser中未解析标记值



我正在解析一个XML文档。它运行良好。但是有一个值没有被解析。这是xml文档http://api.openweathermap.org/data/2.5/forecast/daily?q=Kataragama&mode=xml&单位=公制&cnt=7

不分析日期值。

private String day="time";
public String getDay() {
        return day;
    }
public void parseXMLAndStoreIt(XmlPullParser myParser) {
          int event;
          String text=null;
          try {
             event = myParser.getEventType();
             while (event != XmlPullParser.END_DOCUMENT) {
                String name=myParser.getName();
                switch (event){
                   case XmlPullParser.START_TAG:
                   break;
                   case XmlPullParser.TEXT:
                   text = myParser.getText();
                   break;
                   case XmlPullParser.END_TAG:

                      if(name.equals("time")){
                          day = myParser.getAttributeValue(null,"day");
                      }
                      else{
                      }
                      break;
                      }      
                      event = myParser.next(); 
                  }
                     parsingComplete = false;
          } catch (Exception e) {
             e.printStackTrace();
          }
       }

Main.java

day.setText(obj.getDay());

请帮我做这个。提前谢谢。

这是因为您的if(name)条件在您的开关块中。移除case XmlPullParser.START_TAG或:

String day=null;
        try {
              while (myParser.getEventType()!= XmlPullParser.END_DOCUMENT) {
                      if(myParser.getEventType()==XmlPullParser.START_TAG && myParser.getName().equals("time")
                        day= myParser.getAttributeValue(null,"day");  
        }
     }catch(IndexOutOfBoundsException e){
    day= myParser.getAttributeValue(0);}

最新更新