RSS Library for .NET Features


Full Implementation of RSS: Supports versions 0.90, 0.91, 0.92, 2.0 and RDF (1.0) with all constructs.

Flexible: Reads feeds that do not adhere precisely to the various RSS specifications and are 'loose' in their interpretation.

Development Environments: Complete integration with Visual Studio.NET 2003, Visual Studio 2005 and Visual Web Developer.

Integration with Windows RSS Platform: Reads feeds from Windows Common Feed List.

No knowledge of XML Required: All underlying functions, including parsing, manipulating and creating XML elements and attributes is handled internally by the library.

IntelliSense Enabled: A convenient way to access descriptions of properties and methods in Visual Studio including autcompletion.

100% Managed Code: The .NET assemblies run inside the .NET CLR (Common Language Runtime).

DotNet Support: Use in .NET Framework 1.1 and .NET Framework 2.x.

Use in Multiple Platforms: Use in a desktop application, a Web Service or in an ASP.NET web page.

No Need to Write Low Level Code (Socket or TCP).

No File I/O Code Required: Reading and writing feed files is easily accomplished with a single method call on an RSSFeed object:

Load a File :

[C#]
1 RssFeed feed = RssFeed.Load(feedUrl);
[Visual Basic]
1 Dim feed As RssFeed = RssFeed.Load(feedUrl)

Save a File :

[C#]
1 feed.Save(fileName);
[Visual Basic]
1 feed.Save(fileName)

Caching: Support for "E-Tag" and other feed caching parameters resulting in a new feed download only if the feed on the target server has been changed.

Support for Strongly Typed Classes: Generation of strongly typed classes for RSS feeds including strongly typed channel, items, image, handler based on a URL or a file.

Support for reading Password Protected Feeds: Allows reading password protected feeds. The library can parse username and password information from a URL as well as accept credentials as parameters programmatically provided.

Merge Multiple Feeds: Feed streams can be filtered and merged from a series of existing feeds to create whole new feeds.

PingBack Support: Supports the PingBack 1.0 protocol specification. The following example shows how to send a pingback request:

[C#]
1 PingBackClient pbc = new PingBackClient(); 2 if (pbc.IsPingBackEnabled(targetUri)) 3 { 4 pbc.RegisterPingBack(sourceUri, targetUri); 5 }
[Visual Basic]
1 Dim pbc As PingBackClient = New PingBackClient() 2 If pbc.IsPingBackEnabled(targetUri) = True Then 3 pbc.RegisterPingBack(sourceUri, targetUri) 4 End If

TrackBack Support: Supports the TrackBack protocol specification. The following example shows how easy it is to send a trackback ping:

[C#]
1 TrackBackClient tbc = new TrackBackClient(); 2 if (tbc.IsTrackBackEnabled(targetUri)) 3 { 4 tbc.SendTrackBackPing(title, excerpt, url, blogName); 5 }
[Visual Basic]
1 Dim tbc As TrackBackClient = New TrackBackClient() 2 If tbc.IsTrackBackEnabled(targetUri) = True Then 3 tbc.SendTrackBackPing(title, excerpt, url, blogName) 4 End If

AutoDiscovery Support: AutoDiscovery is supported from a LINK tag like: link rel="alternate" type="application/rss+xml" title="RSS" href="url/to/rss/file"

[C#]
1 FeedCrawler fc = new FeedCrawler(); 2 FeedInfoCollection fic = fc.Discover("http://feed-url/here"); 3 foreach (FeedInfo fi in fic) 4 { 5 Console.WriteLine(fi.FeedTitle); 6 Console.WriteLine(fi.FeedUrl); 7 } 8
[Visual Basic]
1 Dim tbc As TrackBackClient = New TrackBackClient() 2 Dim fc As FeedCrawler = New FeedCrawler 3 Dim fic As FeedInfoCollection 4 fic = fc.Discover("http://feed-url/here") 5 For Each fi As FeedInfo In fic 6 Console.WriteLine(fi.FeedTitle) 7 Console.WriteLine(fi.FeedUrl) 8 Next 9

Transform the Feed: Transform feeds from one version to the other on the fly.

Date Formats: Supports both RFC822 and W3C date formats as well as the DateTime class provided by .NET class libraries.

Database Helper: Includes a SqlHelper class intended to encapsulate high performance, scalable best practices for common uses of SqlClient when creating dynamic feeds.

Additional Modules: Support for RSSPhotoAlbum, Creative Commons, RSSBlogChannel and more...

Exception Handling and Logging: Includes an extensive exception handling and logging framework which can log exception information to a log file, the windows event log or send via email:

[C#]
1 try 2 { 3 DoSomething(); 4 } 5 catch( RssException ex ) 6 { 7 ex.Log(); 8 }
[Visual Basic]
1 Try 2 DoSomething() 3 Catch ex As RssException 4 ex.Log() 5 End Try