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