按类别过滤图像,RSS阅读器

时间:2012-04-11 22:23:25

标签: c# windows-phone-7 collections rss merge

我发现了一个很棒的RSS阅读器,只能获取图像 地点:http://www.kunal-chowdhury.com/2011/08/fetching-picasa-images-through-rss-in.html

我无法弄清楚如何使该读取器过滤并仅按所需类别显示来自Feed的图像。我不打算将这个阅读器用于Picasa。

我使用的RSS Feed:http://www.zimo.co/feed/


我创建了一个ObservableCollection

ObservableCollection<FeedItem> categories;

    public ObservableCollection<FeedItem> Categories
    {
        get { return categories; }
        set
        {
            categories = value;
            OnPropertyChanged("Categories");
        }
    }

并更新了以下代码

private void Feed(object sender, DownloadStringCompletedEventArgs e)
    {

        try
        {
            if (!e.Cancelled)
            {
                var xmlElement = XElement.Parse(e.Result);
                FeedItems.Clear();
//added code for pulling all categories for every item in the feed
                foreach (var katItem in from value
                                     in xmlElement.Elements("channel").Elements("item").Elements("category")
                                        select value.Value
                                            into xCategory
                                            where xCategory != null
                                            select new FeedItem { Category = xCategory })
                {
                    Categories.Add(katItem);



                }

                    foreach (var feedItem in from value
                                                 in xmlElement.Elements("channel").Elements("item")
                                             select value.Element("enclosure")
                                                 into xEnclosure
                                                 where xEnclosure != null
                                                 select xEnclosure.Attribute("url")
                                                     into xUrl
                                                     where xUrl != null
                                                     select new FeedItem { Link = xUrl.Value }
                                                       )
                    {

                                            FeedItems.Add(feedItem);
                    }

            }


        }
        catch
        { }
    }

这样我就有了一个Collection(Categories),其中我从feed中的每个项目中获取所有类别。我想知道。是否可以合并这两个集合,然后按期望的类别过滤新集合,这样我才能获得所需的图像?

1 个答案:

答案 0 :(得分:1)

您必须自己解析图像。使用Picasa Feed,您可以获得图像的显式链接,以后可以绑定到Image控件。使用您的Feed时,我看不到明确的图片链接。