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?