I have a collection of SyndicationItem objects that I need to serialize but I'm not sure how I go about doing that. Suggestions?
IEnumberable<SyndicationItem> blogPosts = GetBlogPosts();
...
private IEnumerable<SyndicationItem> GetBlogPosts()
{
var query = Enumerable.Empty<SyndicationItem>();
foreach (string feed in Feeds)
{
try
{
using (XmlReader reader = XmlReader.Create(feed))
{
query = query.Union((from item in SyndicationFeed.Load(reader).Items
orderby item.PublishDate descending
select item).Take(NumberOfItemsToDisplay));
}
}
catch (Exception ex)
{
Console.WriteLine("Invalid Feed: {0} ({1})", feed, ex.Message);
}
}
query = query.OrderByDescending(i => i.PublishDate).Take(NumberOfItemsToDisplay);
return query;
}
If you want to serialize a SyndicationItem, it has couple of methods you could use SaveAsRss20, SaveAsAtom10. To serialize collection, iterate through one by one and write it to some stream