質問

私はASP.Net MVC2を使用して、私のブログのRSSフィードを持っています。私はSystem.ServiceModel.SyndicationとRss20FeedFormatterでボックス機能のうち使用しています。

フィードは罰金を動作し、私が試してみましたすべてのブラウザだけでなくとしてOutlookで読み取ることができます。私は、サイトマップとGoogleにRSSフィードを提出したときしかし、私は、検証エラーを得た。
好奇心から、私は同様の問題を報告しているフィードバリデータでフィードを検証しました。

フィード: 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ためのコードを投稿しますが、そのかなり標準コードすることができます。

おかげ

クリス・ファレル

役に立ちましたか?

解決

フィードはルートの要素内の要素がありませんでした。

オブジェクトの初期化を使用するのではなく、私は3つの引数(フィードタイトル、説明およびフィード代替リンク)を受け入れる今のコンストラクタのいずれかを使用しています。フィード代替リンクのための3番目の引数は、有効な供給を行うルートチャネルのタグでレンダリングします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top