2

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}
4

1 に答える 1

4

オブジェクト モデルは現在、フィード/チャネルではなく、アイテムでのみ pubDate をサポートしているようです。ElementExtension として追加できます。

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

日付を正しくフォーマットするように注意する必要があります。ここを見てください: DateTime to RFC-1123 gets inaccurate timezone

于 2012-05-12T08:51:36.370 に答える