0

XML ドキュメントを解析しています。それはうまくいっています。しかし、1 つの値が解析されません。これは xml ドキュメントです http://api.openweathermap.org/data/2.5/forecast/daily?q=Kataragama&mode=xml&units=metric&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());

これで私を助けてください。前もって感謝します。

4

1 に答える 1

0

あなたのif(name)状態があなたのスイッチブロックにあるからです。case XmlPullParser.START_TAGORを削除します。

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);}
于 2014-09-06T06:53:43.230 に答える