2010-07-28 9 views
5

То, что я пытаюсь сделать, это взять URL-адрес ощущения RSS и, используя LINQ, иметь возможность написать запрос, который позволит мне отсортировать строку темы фида или отсортировать строку автора фида или даже сделать «ГДЕ ', которые позволят мне фильтровать по ключевым словам, например.Linq to RSS feed?

Я знаю, что могу читать RSS-канал, анализировать каждый элемент, помещать их в какую-то коллекцию объектов класса и LINQ, но мне было интересно, предоставил ли Microsoft более простой способ сделать это в платформе .NET.

ответ

9

Вы должны иметь смотреть на SyndicationFeed класс.

var reader = XmlReader.Create("http://url.to/rss"); 
var feed = SyndicationFeed.Load(reader); 

//Find items by Jesper 
feed.Items.Where(i=>i.Authors.Any(p=>p.Name == "Jesper")); 

//Order by publish date 
var ordered = feed.Items.OrderBy(i=>i.PublishDate);