来自特定rss新闻源的选择性新闻

时间:2016-08-07 19:20:08

标签: android parse-platform rss

在我的应用程序中,我想显示特定网站的RSS提要。但我不希望它显示完整的Rss提要,我只想搜索和显示一些特定的标签,只有它的相关链接应该显示在屏幕上。

这是我的Parser类代码: -

package com.example.sara.rssfeed;

import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;

import android.util.Xml;

import com.example.sara.rssfeed.RssItem;

public class PcWorldRssParser {

    // We don't use namespaces
    private final String ns = null;

    public List<RssItem> parse(InputStream inputStream) throws XmlPullParserException, IOException {
        try {
            XmlPullParser parser = Xml.newPullParser();
            parser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, false);
            parser.setInput(inputStream, null);
            parser.nextTag();
            return readFeed(parser);
        } finally {
            inputStream.close();
        }
    }

    private List<RssItem> readFeed(XmlPullParser parser) throws XmlPullParserException, IOException {
        parser.require(XmlPullParser.START_TAG, null, "rss");
        String title = null;
        String link = null;
        List<RssItem> items = new ArrayList<RssItem>();
        while (parser.next() != XmlPullParser.END_DOCUMENT) {
            if (parser.getEventType() != XmlPullParser.START_TAG) {
                continue;
            }
            String name = parser.getName();
            if (name.equals("title")) {
                title = readTitle(parser);}

               else if (name.equals("link")) {
                   link = readLink(parser);}


            if (title=="Top Stories - Google News" && link=="http://news.google.com/news?hl=en&amp;ned=us") {
                RssItem item = new RssItem(title, link);
                items.add(item);
                title = null;
                link = null;
            }
        }
        return items;
    }

    private String readLink(XmlPullParser parser) throws XmlPullParserException, IOException {
        parser.require(XmlPullParser.START_TAG, ns, "link");
        String link = readText(parser);
        parser.require(XmlPullParser.END_TAG, ns, "link");
        return link;
    }

    private String readTitle(XmlPullParser parser) throws XmlPullParserException, IOException {
        parser.require(XmlPullParser.START_TAG, ns, "title");
        String title = readText(parser);
        parser.require(XmlPullParser.END_TAG, ns, "title");
        return title;
    }

    // For the tags title and link, extract their text values.
    private String readText(XmlPullParser parser) throws IOException, XmlPullParserException {
        String result = "";
        if (parser.next() == XmlPullParser.TEXT) {
            result = parser.getText();
            parser.nextTag();
        }
        return result;
    }
}

错误:

  

on line if(title ==&#34;热门新闻 - Google新闻&#34;&amp;&amp;   链路==&#34; HTTP:?!//news.google.com/news HL = EN&安培;奈德= US&#34;)if I put =丝毫不差空and链接= null` < / p>

显示完整的RSS Feed。但如果我给它特定的链接和标题标签搜索它什么也不显示,只有一个空白屏幕。

请帮助我做错了什么。 在此先感谢。

0 个答案:

没有答案