2016-05-09 3 views
0

RSSフィードを取得して、画面上の情報を読み込んで表示する、単純なAndroidアプリケーションを開発中です。私はコードを実装している間にGoogleの例に従おうとしました(ソース:Android Developers)。XmlPullParserがドキュメントの最後に届かない

私のコードは以下のようになります。

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); 
    } 
} 

実際に、それは私にタイトルXMLタグの内容を出力しますが、それはwhileループを停止することはありません。 eventTypeの値は常に0です。これは決してXmlPullParserには入りません.END_TAG。

誰かが自分のコードに何が間違っているか知っていますか?

答えて

0

私は自分でこの問題を発見しました。 これは単純に「続行」部分です。私はそれを削除すると、それは働いた。

関連する問題