Rss20FeedFormatter sta producendo RSS che non è ben formata
-
25-09-2019 - |
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
Soluzione
Il Flux mancava l'elemento nella radice
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.