0

我对asp.net有点新,所以请多多包涵...

我正在尝试从 WordPress 站点读取和显示 Atom 提要。

在网上搜索,我能够将以下代码放在 Codebehind 中:

XmlReader reader = XmlReader.Create(myURL);
SyndicationFeed feed = SyndicationFeed.Load(reader);

foreach (var item in feed.Items)
{

    Response.Write(item.PublishDate.ToString("yyyy-MM-dd hh:mm tt"));
    Response.Write("<br/>");
    Response.Write(item.Title.Text);

}

reader.Close();

这可以很好地显示日期和时间。现在这里是我需要解决的问题:

1) 检索链接....

查看 MSDN 上的SyndicationFeed帖子,我可以看到有一个 Links 属性,但我不知道如何<link>从提要中检索它。有谁知道如何得到这个?

2)限制输出数量...

现在,foreach()它会显示提要中的每一个条目。有什么想法可以限制它只显示最新的 x 数吗?

我可以做类似...

while (var item in feed.Items < 5)
{

    Response.Write(item.PublishDate.ToString("yyyy-MM-dd hh:mm tt"));
    Response.Write("<br/>");
    Response.Write(item.Title.Text);

}
4

1 回答 1

0
  • 有什么想法可以限制它只显示最新的x 数吗?
  • 检索集合SyndicationLink

您可以(根据需要改进/空检查等):

//Newest by date/time and take x (e.g. 5)
foreach (var item in feed.Items.OrderByDescending(i => i.PublishDate).Take(5))
{
     //Get the Uris from SyndicationLink
     var theLinks = item.Links.Select(l => l.Uri.ToString()).ToList();

     //do something with them....
     var foo = string.Join(",", theLinks);

    ....
}

嗯……

于 2016-03-05T00:26:58.613 回答