/* * This work is licensed under the Creative Commons Attribution 2.5 License. * To view a copy of this license, visit http://creativecommons.org/licenses/by/2.5/ * or send a letter to Creative Commons, 543 Howard Street, 5th Floor, * San Francisco, California, 94105, USA. * * Original developer: David Betz * */ using System; using System.Collections.Generic; using System.Text; using System.Collections.ObjectModel; using Rss; namespace FeedBuilder { public class RssReader : AbstractReader { RssFeed feed; private Uri uri; public Uri Uri { get { return uri; } set { uri = value; } } public override string FeedLink { get { return feed.Channels[0].Link.AbsoluteUri; } } public override string FeedTitle { get { return feed.Channels[0].Title; } } public RssReader() { } public RssReader(string url) { this.Uri = new Uri(url); feed = RssFeed.Read(url); } public RssReader(Uri uri) { this.Uri = uri; feed = RssFeed.Read(this.Uri.AbsoluteUri); } public override Collection GetEntryList() { Collection simpleFeed = new Collection(); foreach (RssItem entry in this.feed.Channels[0].Items) { SimpleFeedEntry simpleEntry = new SimpleFeedEntry(); simpleEntry.Date = entry.PubDate; simpleEntry.Link = entry.Link.AbsoluteUri; simpleEntry.Text = entry.Description; simpleEntry.Title = entry.Title; simpleFeed.Add(simpleEntry); } return simpleFeed; } } }