Olá pessoal, tudo bom?
Esse post vai para quem está lendo conteúdos RSS através da classe SyndicationFeed do namespace System.ServiceModel.Syndication
Supondo que você tenha um retorno XML parecido com a estrutura abaixo:
<?xml version="1.0" encoding="UTF-8"?> <rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/"> <channel> <title>Universidade do Oeste Paulista</title> <link>http://www.unoeste.br</link> <description>Universidade do Oeste Paulista - Unoeste - Presidente Prudente, São Paulo</description> <language>pt-br</language> <lastBuildDate>Fri, 14 Dec 2012 20:06:13 -0300</lastBuildDate> <image> <url>http://www.unoeste.br/site/_imagens/topo_logo_unoeste.png</url> <title>Universidade do Oeste Paulista</title> <link>http://www.unoeste.br</link> </image> <ttl>60</ttl> <item> <title>Projeto Árvore da Solidariedade entrega presentes em escola</title> <link>http://www.unoeste.br/site/destaques/Noticias.aspx?id=6921</link> <description>&lt;i&gt;Arrecadação de roupas, calçados e brinquedos novos fez a alegria de 411 alunos da Escola Municipal Juracy Meneses Peralta&lt;/i&gt; “É uma sensação de dever cumprido. Ver a alegria no rosto dessas crianças e contribuir com um Natal solidário para mais de 400 famílias é gratificante”. As palavras ...</description> <guid>http://www.unoeste.br/Noticias.aspx?id=6921</guid> <pubDate>Fri, 14 Dec 2012 17:20:00 -0300</pubDate> <media:thumbnail url="http://www.unoeste.br/site/destaques/images/6921p.jpg" xmlns:media="http://search.yahoo.com/mrss/" /> <media:content url="http://www.unoeste.br/images/6921g.jpg" type="image/jpeg" width="430" height="280" xmlns:media="http://search.yahoo.com/mrss/" /> </item> .... .... </channel> </rss>
Suponha ainda que você tenha um objeto da classe SyndicationItem chamado sItem que represente cada feed recebido e nele você precise acessar o conteúdo da tag <media:thumbnail url=”http://www.unoeste.br/images/6921p.jpg ” xmlns:media=”http://search.yahoo.com/mrss ” /> para obter a url corresponde à imagem desejada. Veja abaixo:
... string url = ""; if (sItem.ElementExtensions.Count > 0) { if (sItem.ElementExtensions.Where(t => t.OuterName == "thumbnail").Count() != 0) url = sItem.ElementExtensions.Where(t => t.OuterName == "thumbnail").First().GetObject<XElement>().Attribute("url").Value; } ...
Ufa, finalmente teríamos na string url o valor desejado!
Grande abraço a todos,
Eduardo Henrique Rizo
[twitter-follow screen_name=’eduardorizo’ show_count=’yes’]
Pingback: Free: Curso Windows Phone – Vários tópicos « Blog do Eduardo H. Rizo