[英]How can I serialize a collection of SyndicationItem objects?
我有一个需要序列化的SyndicationItem对象集合,但是我不确定该怎么做。 有什么建议吗?
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;
}
如果要序列化SyndicationItem,则可以使用SaveAsRss20和SaveAsAtom10两种方法 。 要序列化集合,请一个接一个地迭代并将其写入某个流
SyndicationItem item = new SyndicationItem("Item Title", "Item Content", new Uri("http://Item/Alternate/Link"), "itemID", DateTimeOffset.Now);
XmlWriter writer = XmlWriter.Create("outfile.xml");
item.SaveAsRss20(writer);
writer.Close();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.