2

我正在学习 RSS 提要,我遇到了一个令我惊讶的问题,我以前从未遇到过,这可能是一个非常简单的答案,但我在 Google 上找不到任何东西。我正在使用 SyndicationItem 从 RSS 提要中获取 XML 项目,但是当您使用 foreach 它需要每个项目时,我只想获取最新项目 - 代码片段如下。

    //Add required parsing in here
    foreach (SyndicationItem item in feed.Items)
    {
        //put data you want parsed
    }

显然我想在最后添加一个休息,但这绝对是我将来需要找到答案的事情,我想解决它比这更干净。

所以这里的任何帮助将不胜感激,谢谢!

4

1 回答 1

2

尝试这个:

var latest = feed.Items.OrderByDescending(x=>x.PublishDate).FirstOrDefault();

OrderByDescending将按日期降序排列项目,取FirstOrDefault项目将获得发布日期最高的项目(最新项目)

SyndicationItemPublishDate有财产_

阅读更多关于Linq创建此类查询非常有用的信息。

编辑:

如果它们是按你排序的,PublishDate你可以使用LastOrDefault方法,但如果你不是 100% 确定,最好先排序。

var latest = feed.Items.LastOrDefault();

编辑2:

处理空列表,例如:

if(!feed.Items.Any)
{
    //alert about no elements
}
于 2013-10-10T12:10:56.783 回答