Wednesday, November 01, 2006 3:25 PM
bart
Exploring the IE7 RSS platform in C# - Part 1
Introduction
Internet Explorer 7 introduces a unified approach to RSS. More information can be found on the RSS team blog. The good thing about it, is its availability for developers to consume the RSS feeds of the end-user, for example to build a custom RSS aggregator. Applications like the Windows Sidebar in Vista, the Windows Live Mail Desktop client, Outlook 2007 leverage the power of this API to provide multiple views on the same RSS information. In this series of blog posts I'm showing you little snippets to make a jumpstart with the RSS platform. At the end of this series, a nice (maybe geeky) application will bring together all of the pieces, so watch my RSS feed!
Getting started
For this simple demo, create a new C# Console Application in Visual Studio 2005 and add a reference to the COM component Microsoft.Feeds 1.0. This will build the required interop assembly to be used by our application to consume RSS feeds and obtain RSS information. In Program.cs import the Microsoft.Feeds.Interop namespace:
using Microsoft.Feeds.Interop;
Listing the feeds and the feed folders
RSS feeds are organized in a tree-based structure, allowing the end-user to keep things clean by putting feeds in folders and subfolders. Let's visualize this in the console. Here's the code:
void Main(string[] args)
{
FeedsManager mgr = new FeedsManagerClass();
IFeedFolder root = (IFeedFolder) mgr.RootFolder;
GetFeeds(root, 0);
}
static void GetFeeds(IFeedFolder parent, int n)
{
string spacing = new string(' ', n);
if (n > 0)
{
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine(spacing + "\b+" + parent.Name);
Console.ResetColor();
}
foreach (IFeed feed in (IFeedsEnum) parent.Feeds)
Console.WriteLine(spacing + feed.Name);
foreach (IFeedFolder folder in (IFeedsEnum) parent.Subfolders)
GetFeeds(folder, n + 1);
}
Don't forget the required casts to get the thing up and running, due to COM interop stuff. The output should look exactly like your (expanded) IE7 Feeds display in the Favorites Center:

Have fun!

Del.icio.us |
Digg It |
Technorati |
Blinklist |
Furl |
reddit |
DotNetKicks
Filed under: Windows Vista, C# 2.0