Artigo recomendado para Visual Studio 2005; RSSToolkit
O padrão RSS para exportação de conteúdo no formato XML tornou-se um dos pilares da Web 2.0 pela facilidade de intercâmbio de informações entre os mais diversos sites viabilizando a agregação de informações. O RSS Toolkit veio justamente para facilitar a utilização de RSS dentro do ASP.NET. Ele permite tanto expor um conteúdo, quanto ler uma fonte RSS e, por exemplo, fazer um bind direto para um controle como Gridview usando inclusive um provider RSSDataSource criado especificamente para esse fim.
Chegou o momento de colocarmos a mão na massa! Faça o download do RSSToolkit e descompacte em uma pasta. Crie um novo projeto ASP.NET WebApplication e adicione a referência para o arquivo RssToolkit.dll. Adicione uma página em branco que usaremos para o primeiro teste. Com a versão 2.0 do toolkit, já podemos adicionar os controles a Toolbox. Então clique com o botão direito e escolha "Add Tab" dando o nome de "RSSToolkit". Em seguida, clique novamente com o botão direito e escolha "Choose items" e então no botão browser localize o arquivo RssToolkit.dll. O resultado deve ser parecido com a figura 01.
Figura 01 -Toolbox.
Agora que já temos nosso ambiente configurado, arraste um Gridview para a página e em seguida, arraste um RssDataSource conforme figura 02.
Figura 02 -Adicionando RssDataSource.
Execute sua página e veja o resultado no Gridview. Você deve estar imaginando o quanto foi fácil ler um RSS. Com uma pequena configuração no Gridview conforme listagem 01, podemos modificá-lo para exibir apenas os links pra os posts originais, como acontece na maioria dos sites. Veja o resultado na figura 04.
1: <asp:Gridview ID="Gridview1" runat="server"
2: AutoGenerateColumns="False"
3: DataSourceID="
4: <Columns>
5: <asp:HyperLinkField DataNavigateUrlFields="link"
6: DataTextField="title"
7: HeaderText="Blog Ramon Durães"
8: />
9: </Columns>
10: </asp:Gridview>Listagem 01 - Gridview
Figura 04 - Exibindo informações de blog externo.
Com as informações chegando de forma tão simples, basta agora configurar os templates e exibir no formato mais adequado ao layout. Pode-se no lugar do Gridview usar outro controle como um Repeater.
Dando continuidade, adicione uma nova página e dessa vez um Gridview e um Button. Efetue dois cliques no botão e vamos fazer a implementação manualmente conforme listagem 02.
1: protected void Button1_Click(object sender, EventArgs e)
2: {
3: System.Uri url =
4: new Uri("http://blogs.2pc.com.br/ramonduraes/rss.aspx");
5: RssToolkit.Rss.RssDocument rss =
6: RssToolkit.Rss.RssDocument.Load(url);
7: Gridview1.DataSource = rss.SelectItems();
8: Gridview1.DataBind();
9: }Listagem 02 - Realizando DataBind Manual
Conforme você está observando nesse segundo exemplo, com pouquíssimas linhas de código estamos consumindo um RSS e exibindo no nosso Gridview.
Agora chegou o momento de expor um RSS para que possa ser consumido por terceiros.
Com RSSToolkit existe várias formas de fazer essa tarefa. Vamos executar um simples exemplo para você ter idéia das funcionalidades.
Adicione uma nova página para esse teste (GearRSS.aspx) e adicione as referências e código conforme listagem 03.
1: using RssToolkit.Rss;
2: using System.Collections.Generic;
3: using System.Xml;
4:
5: protected void Page_Load(object sender, EventArgs e)
6: {
7:
8: //Inicializando RSS
9: RssDocument meurss = new RssDocument();
10: RssChannel rss = new RssChannel();
11: rss.PubDate = System.DateTime.Now.ToString();
12: rss.Description = "RSS Ramones";
13: rss.Title = "Ramon's Rss";
14: meurss.Channel = rss;
15: meurss.Version = "2.0";
16:
17: meurss.Channel.Items = new List<RssItem>();
18:
19: //Adicionando itens
20: RssItem item = new RssItem();
21: item.Title = "Treinamento AJAX";
22: item.Description = "CD Treinamento Microsoft Ajax";
23: item.Link = "~/ajax.aspx";
24: meurss.Channel.Items.Add(item);
25:
26: item = new RssItem();
27: item.Title = "WorkShop Visual Studio Team System";
28: item.Description = "Treinamento VSTS";
29: item.Link = "~/vsts.aspx";
30: meurss.Channel.Items.Add(item);
31:
32:
33: //Retornando Stream xml
34: string outputXml = meurss.ToXml(DocumentType.Rss);
35: XmlDocument document = new XmlDocument();
36: document.LoadXml(outputXml);
37: Response.ContentType = "text/xml";
38: document.Save(Response.OutputStream);
39: Response.End();
40: }Ao executar a página de teste com a codificação da listagem 03, você vai ter o retorno XML necessário para que outras aplicações possam consumir.
Você ainda pode usar o controle RssHyperLink para exibir automaticamente para o Internet Explorer que sua página possui uma url para RSS de acordo com o exemplo abaixo:
<link rel="alternate" type="application/rss+xml" title="Ramon Durães - RSS Demo" href="~/GerarRSS.aspx" />Conforme você observou nesse artigo, o RSSToolkit veio para suprir todas as suas necessidades na manipulação de informações baseadas no padrão XML utilizado por todos os leitores de notícias. Existe várias outras formas de implementação que você pode conferir diretamente com código de exemplo que acompanha o produto.
"Não tem que ser difícil" Até próximo artigo!
Código Fonte: [Download]Referência: ASP.NET RSS TOOLKIT
2001 - iMasters FFPA Informática Ltda - Todos os direitos reservados.