Domanda

Sto usando ASP.Net MVC2 e ho un feed RSS per il mio blog. Sto usando fuori dalla scatola funzionalità in System.ServiceModel.Syndication e Rss20FeedFormatter.

L'alimentazione funziona bene e può essere letto da Outlook, così come tutti i browser che ho provato. Tuttavia quando ho presentato il feed RSS per Google come una mappa del sito ho ottenuto validazione errori.
Per curiosità ho convalidato il feed con feedvalidator che ha riportato problemi simili.

Feed: http://www.chrispfarrell.com/Blog/Rss

Se si pop in questo feed a feedvalidator.org vedrete i problemi.

Non c'è davvero alcun codice personalizzato in corso per generare il RSS.

L'azione del controller è

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));
        }  

Qualsiasi commento sul motivo per cui l'alimentazione non sarebbe valido e ben formate? Posso inviare il codice per FeedResult se necessario, ma il suo codice piuttosto standard.

Grazie

Chris Farrell

È stato utile?

Soluzione

Il Flux mancava l'elemento nella radice elemento.

Invece di utilizzare un inizializzatore oggetto, sto usando uno dei costruttori ora che accetta 3 argomenti (titolo di un feed, descrizione e dei mangimi collegamento alternativo). Il terzo argomento all'alimentazione collegamento alternativo rende nel canale di radice tag che rende il mangime ora valide.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top