2010-07-28 3 views
5

Quello che sto cercando di fare è prendere un URL di tipo RSS e, usando LINQ, essere in grado di scrivere una query che mi consenta di ordinare l'oggetto del feed o ordinare la riga dell'autore del feed o anche fare 'WHERE 'clausole che mi consentiranno di filtrare per parole chiave, ad esempio.Linq al feed RSS?

So di poter leggere il feed RSS, analizzare ogni elemento, inserirli in una sorta di raccolta di oggetti di classe e LINQ, ma mi chiedevo se Microsoft fornisse un modo più semplice per farlo nel framework .NET.

risposta

9

Si dovrebbe avere uno sguardo un classe 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);