目前,我正在向一个 ASP.net C# 应用程序添加“上一个博客”和“下一个博客”链接,该应用程序从 blogspot 上托管的客户博客提供其博客。一旦我抓取了一个特定的博客,我就想立即获取它的上一个博客和下一个博客。获取以前的博客并不难。
// THIS IS MY CALL TO GET THE PREVIOUS BLOG
FeedQuery prevQuery = new FeedQuery();
prevQuery.Uri = new Uri(String.Format("{0}", blogCred.feedUri));
// {0} This is automatically retrieved from the database [ https://www.blogger.com/feeds/XXXXXXXXXXXXXXXXXX/posts/default/ ]
prevQuery.MaxPublication = entry.Published.AddSeconds(-1);
prevQuery.NumberToRetrieve = 1;
AtomFeed prevFeed = googleService.Query(prevQuery);
AtomEntry prevEntry = prevFeed.Entries.FirstOrDefault();
prevBlog(prevEntry);
这让我得到了我想要的结果。问题是获取下一个博客。
// THIS IS MY CALL TO GET THE NEXT BLOG
FeedQuery nextQuery = new FeedQuery();
nextQuery.Uri = new Uri(String.Format("{0}", blogCred.feedUri));
// {0} This is automatically retrieved from the database [ https://www.blogger.com/feeds/XXXXXXXXXXXXXXXXXX/posts/default/ ]
nextQuery.MinPublication = entry.Published.AddSeconds(1);
nextQuery.NumberToRetrieve = 1;
AtomFeed nextFeed = googleService.Query(nextQuery);
AtomEntry nextEntry = nextFeed.Entries.FirstOrDefault();
nextBlog(nextEntry);
我遇到的问题是我无法让 Blogger 按降序排列这些帖子。它不断按升序对它们进行排序,并抓取最新发布的博客,而不是下一篇文章。我不想抓取包含所有博客文章的 FULL xml 文件并抓取最后一项。我想以与此 LINQ to SQL 调用类似的方式获取最后一项:
var query = from f in nextEntry
where f.date > desiredDate
orderby date descending
select f;
如果有人有任何想法或我遗漏的任何东西 - 希望像从谷歌回复中吐出的条目中的某处获取“下一篇文章”链接一样简单。