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

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top