Rss20FeedFormatter está produciendo RSS que no está bien formada
-
25-09-2019 - |
Pregunta
Estoy utilizando ASP.Net MVC2 y tener un feed RSS de mi blog. Estoy usando la funcionalidad de caja en System.ServiceModel.Syndication y Rss20FeedFormatter.
La alimentación funciona bien y puede ser leído por Outlook, así como todos los navegadores que he probado. Sin embargo, cuando presenté la fuente RSS a Google como un mapa del sitio llegué validación de errores.
Por curiosidad Validé la alimentación con feedvalidator que informó de problemas similares.
Feed: http://www.chrispfarrell.com/Blog/Rss
Si usted hace estallar esta alimentación en al feedvalidator.org podrás ver los problemas.
En realidad no hay un código personalizado que va a generar el RSS.
La acción del controlador es
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));
}
Cualquier comentario de por qué la alimentación no sería válido y bien formados? Me pueden enviar el código de FeedResult si es necesario, pero su código bastante estándar.
Gracias
Chris Farrell
Solución
El RSS faltaba el elemento en la raíz elemento
En lugar de utilizar un inicializador objeto, estoy usando uno de los constructores ahora que acepta 3 argumentos (título de alimentación, descripción y alimentar enlace alternativo). El tercer argumento para la alimentación de enlace alternativo hace que en el canal de raíz etiqueta que hace que la alimentación ahora válido.