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