仅获得带有联合项目/替代项目的第一个项目

本文关键字:项目 第一个 | 更新日期: 2023-09-27 18:34:40

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

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

显然,我已经考虑过在最后添加一个中断,但这绝对是我将来需要找到答案的事情,我想比这更干净地解决它。

因此,这里的任何帮助将不胜感激,谢谢!

仅获得带有联合项目/替代项目的第一个项目

试试这个:

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
}