XmlPullParser未到达文档末尾

时间:2016-05-09 08:01:46

标签: android rss infinite-loop xmlpullparser

我正在开发一个简单的Android应用程序,该应用程序应该获取RSS提要,在屏幕上阅读和显示信息。我尝试在实现代码时遵循Google示例(来源:Android Developers)。

我的代码看起来像这样:

  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-Tag的内容,但它永远不会停止while循环。 eventType的值始终为0.它也永远不会进入XmlPullParser.END_TAG。

有谁知道我的代码出了什么问题?

0 个答案:

没有答案