A simple example to show how to use the SyndicationFeed class to load a feed and how to handle the items.
using System;
using System.Linq;
using System.ServiceModel.Syndication;
using System.Xml;
class Program
{
static void Main(string[] args)
{
string feedUrl = "http://feeds.delicious.com/v2/rss/tags/paul.van.brenk";
SyndicationFeed feed;
using (XmlTextReader xReader = new XmlTextReader(feedUrl))
{
feed = SyndicationFeed.Load(xReader);
}
// max is more appropriate
//var sum = feed.Items.Aggregate(0m, (x, y) => x += Decimal.Parse(y.Summary.Text));
var max = feed.Items.Max(x => Decimal.Parse(x.Summary.Text));
// select item title and relative weight for items with a relative weight > 0.1
var normItems = from i in feed.Items
where (Decimal.Parse(i.Summary.Text) / max) > 0.1m
select new { Title = i.Title.Text, Weight = Decimal.Parse(i.Summary.Text) / max };
foreach (var item in normItems)
{
// 15 = highest possible value for consolecoler (Magic Number)
Console.ForegroundColor = (ConsoleColor)(15 * item.Weight);
Console.Write("{0} ", item.Title);
}
Console.ReadLine();
}
}
Download code: ConsoleTagCloud.txt (1.22 KB)