Render pubDate with RSS SyndicationFeed api

本文关键字:SyndicationFeed api RSS with pubDate Render | 更新日期: 2023-09-27 18:33:51

我正在尝试从我的 ASP.net MVC站点提供RSS提要。一切都在工作 接受 pubdate 元素。我似乎无法让 Rss20FeedFormatter 输出它。我认为它映射到SyndicationFeed对象上的LastUpdateDate属性,但它输出为LastBuildDate。

有谁知道如何将SyndicationFeed与Rss20FeedFormatter一起使用在我的RssFeed中呈现pubDate节点?

   public class RssActionResult : ActionResult
    {
        public SyndicationFeed Feed { get; set; }
        public override void ExecuteResult(ControllerContext context)
        {
            context.HttpContext.Response.ContentType = "application/rss+xml";
            var rssFormatter = new Rss20FeedFormatter(Feed, false);
            using (var writer = XmlWriter.Create(context.HttpContext.Response.Output, new XmlWriterSettings{ Indent = true}))
                rssFormatter.WriteTo(writer);
        }
    }

我如何创建提要的示例。

new SyndicationFeed("Title", "Description", url, "test_id", publishDate, feedItems){ LastUpdatedTime = publishDate}

Render pubDate with RSS SyndicationFeed api

似乎对象模型目前仅支持项目上的 pubDate,而不支持提要/频道上的 pubDate。您可以将其添加为 ElementExtension:

feed.ElementExtensions.Add("pubDate", "", DateTime.UtcNow.ToString("r"));

您只需要注意正确格式化日期,请查看此处:RFC-1123 的日期时间给出了不准确的时区