我正在尝试从我的ASP.net MVC网站提供RSS提要。一切都可以接受pubdate元素。我似乎无法获得Rss20FeedFormatter来输出它。我认为它映射到SyndicationFeed对象上的LastUpdatedDate属性,但是输出为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}

最佳答案

似乎对象模型当前仅在项目上支持pubDate,而不在feed /通道上支持pubDate。您可以将其添加为ElementExtension:

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


您只需要注意正确格式化日期,请在此处查看:DateTime to RFC-1123 gives inaccurate timezone

关于c# - 使用RSS SyndicationFeed API渲染pubDate,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10558989/

10-10 05:57