2016-05-09 17 views
0

Ich arbeite an einer einfachen Android App, die RSS-Feeds abrufen sollte, lesen und zeigen Sie die Informationen auf dem Bildschirm. Ich habe versucht, dem Google-Beispiel bei der Implementierung des Codes zu folgen (Quelle:).XmlPullParser nicht erreichen Ende des Dokuments

Mein Code sieht wie folgt aus:

public void fetchXML(String url, Context context) { 
    try { 
     URL urlObj = new URL(url); 
     this.parser = this.xmlPullParserFactory.newPullParser(); 
     InputStream stream = getInputStream(urlObj); 
     String string = this.extractStringFromInputStream(stream); 
     this.parser.setInput(new StringReader(string)); 

     int eventType = parser.getEventType(); 

     while (eventType != XmlPullParser.END_DOCUMENT) { 
      Log.i(TAG, "value END_DOCUMENT: " + XmlPullParser.END_DOCUMENT + " - my eventType value: " + eventType); 
      if (parser.getEventType() != XmlPullParser.START_TAG) { 
       continue; 
      } 
      String name = parser.getName(); 

      if (name.equals("title")) { 
       title = readTitle(parser); 
      } 

      if (parser.getEventType() and!= XmlPullParser.END_TAG) { 
       Log.i(TAG, "IM IN END TAG"); 
      } 

      eventType = parser.next(); 
    } 

    } catch (Exception e) { 
     Log.e(TAG, "EXCEPTION: ", e); 
    } 
} 

Eigentlich ist es druckt mir den Inhalt der Titel XML-Tag, aber es hört nie auf die Schleife. Der Wert des eventType ist immer 0. Er geht auch niemals in den XmlPullParser.END_TAG.

Weiß jemand, was mit meinem Code falsch ist?

Antwort

0

Ich habe das Problem selbst gefunden. Es war einfach der "Weiter" -Teil. Wenn ich es lösche, hat es funktioniert.

Verwandte Themen