ASP.Net MVC2を使用していて、ブログのRSSフィードを持っています。System.ServiceModel.SyndicationとRss20FeedFormatterのすぐに使用できる機能を使用しています。
フィードは正常に機能し、Outlookだけでなく、試したすべてのブラウザでも読み取ることができます。ただし、RSSフィードをサイトマップとしてGoogleに送信すると、検証エラーが発生しました。
好奇心から、同様の問題を報告したfeedvalidatorでフィードを検証しました。
フィード: http: //www.chrispfarrell.com/Blog/Rss
このフィードをfeedvalidator.orgにポップインすると、問題が発生します。
RSSを生成するためのカスタムコードは実際にはありません。
コントローラーのアクションは
public FeedResult Rss()
{
const string baseUrl = "http://www.chrispfarrell.com/Blog/View/";
var blogs = _blogService.GetBlogs();
var feed = new SyndicationFeed
{
Title = new TextSyndicationContent("Chris Farrell"),
Copyright = new TextSyndicationContent("Copywrite Chris Farrell 2010")
};
var postItems = blogs.Take(25)
.Select(p => new SyndicationItem(p.Title,p.Body,new Uri(baseUrl + p.BlogUrl))
{
PublishDate = p.DateCreated,
});
feed.Items = postItems;
return new FeedResult(new Rss20FeedFormatter(feed));
}
フィードが有効でなく、整形式でない理由についてのコメントはありますか?必要に応じてFeedResultのコードを投稿できますが、かなり標準的なコードです。
ありがとう
クリスファレル