Pergunta

Estou usando asp.net MVC2 e tenho um feed RSS para o meu blog. Estou usando a funcionalidade pronta para uso em System.Servicemodel.Syndication e RSS20FeedFormatter.

O feed funciona bem e pode ser lido pelo Outlook e todos os navegadores que eu tentei. No entanto, quando enviei o feed RSS ao Google como um mapa do site, recebi erros de validação.
Por curiosidade, validei o feed com o FeedValidator, que relatou problemas semelhantes.

Alimentação: http://www.chrispfarrell.com/blog/rss

Se você aparecer este feed em feedValidator.org, verá os problemas.

Realmente não existe código personalizado para gerar o RSS.

A ação do controlador é

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

Algum comentário sobre por que o feed não seria válido e bem formado? Posso postar o código para feedResult, se necessário, mas é um código bastante padrão.

Obrigado

Chris Farrell

Foi útil?

Solução

O feed estava faltando ou003Clink> elemento na raizu003Cchannel> elemento.

Em vez de usar um inicializador de objetos, estou usando um dos construtores agora que aceita 3 argumentos (título de alimentação, descrição e link alternativo de alimentação). O terceiro argumento para o feed alternativo link renderiza no canal raizu003Clink> tag que torna o feed agora válido.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top