我正在学习RSS提要,我遇到了一个我以前从未遇到的问题,这可能是一个非常简单的答案,但我在Google上找不到任何东西。我正在使用SyndicationItem从RSS提要中获取XML项目,但是当您使用foreach时,它会获取每个项目,我只想获取最新项目 - 下面的代码片段。
//Add required parsing in here
foreach (SyndicationItem item in feed.Items)
{
//put data you want parsed
}
显然我想到最后只是添加一个休息时间,但这绝对是我将来需要找到答案的东西,我想解决它比这更清洁。
所以任何帮助都会受到赞赏,谢谢!
答案 0 :(得分:2)
试试这个:
var latest = feed.Items.OrderByDescending(x=>x.PublishDate).FirstOrDefault();
OrderByDescending
将按日期降序订购商品,并且FirstOrDefault
商品将获得具有最高发布日期的商品(最新商品)
SyndicationItem
有PublishDate
属性
详细了解Linq
创建此类查询非常有用。
编辑:
如果按PublishDate
排序,则可以使用LastOrDefault
方法,但如果您不是100%确定,最好先对其进行排序。
var latest = feed.Items.LastOrDefault();
EDIT2:
处理空列表,如:
if(!feed.Items.Any)
{
//alert about no elements
}