Criando RSS


por Mauricio Junior em 1/1/2011 0

        Primeiramente, quero deixar claro que estou criando com a ferramenta Visual Studio da Microsoft. Usarei o banco de dados MYSQL. 

        O RSS é um formato padronizado mundialmente, que funciona com linguagem XML (Extensible Markup Language), e é usado para compartilhar conteúdo Web. Ele permite, por exemplo, que o administrador de um site de notícias crie um arquivo XML com as últimas manchetes publicadas, a fim de compartilhá-las mais rapidamente com seus leitores. Este arquivo poderá ser lido através de qualquer ferramenta que seja capaz de entender o formato XML do RSS. 



Crie um arquivo RSS.aspx clicando com o botão direito do mouse no projeto e adicionando um novo item. Esse arquivo gerará automaticamente um XML com os dados trazidos do banco de dados MYSQL.
 


Crie uma classe chamada BancoDados.cs criando dois métodos dentro da mesma. Uma chamada Conecta() e outra chamada Desconecta().
Segue abaixo a figura mostrando o primeiro método comentado acima:
 


Segue abaixo a figura do segundo método criado na classe BancoDados.cs.
 


Depois de criado os dois métodos da classe irei programar dentro da classe RSS.ASPX. Dentro da classe RSS, criei um método protegido sem passar parâmetros e sem retornar parâmetros. O método chama geraRSS().
Segue a figura abaixo mostrando a classe:
 


Dentro dessa classe primeiramente devo importar as classes que usarei.
Veja os importes abaixo:

/// para gerar o xml
using System.Data.Odbc;
using System.Text;
using System.Xml;


Veja a assinatura do método: protected void geraRss(), veja que é void, ou seja, sem retorno e sem parâmetros de entrada como dito antes. Segue todo código desse método a seguir.

protected void geraRss()
{
        Response.Clear();
        Response.ContentType = "text/xml";
        XmlTextWriter objX = new XmlTextWriter(Response.OutputStream,         Encoding.UTF8);
        objX.WriteStartDocument();
        objX.WriteStartElement("rss");
        objX.WriteAttributeString("version","2.0");
        objX.WriteStartElement("channel");
        objX.WriteElementString("title", "ARTIGOS - aspneti.com.br");
        objX.WriteElementString("link","http://www.aspneti.com.br");
        objX.WriteElementString("description","Artigos Publicados na         Comunidade ASPNETI.COM.BR");
        objX.WriteElementString("copyright","(c) 2005, ASPNETI.COM.BR, All         rights reserved.");
        objX.WriteElementString("ttl","5");
        BancoDados sBanco = new BancoDados();
        sBanco.Conecta();
        string sql = "select ch_artigos, desc_artigos, dt_artigos, tit_artigos from         tb_artigos where status_artigos = 'A' order by dt_artigos desc limit 30";
        OdbcCommand objCommand = new OdbcCommand(sql, sBanco.sConn);
OdbcDataReader objReader = objCommand.ExecuteReader();

while (objReader.Read())
{
objX.WriteStartElement("item");
objX.WriteElementString("title",objReader.GetString(3));
objX.WriteElementString("description", "<img src='http://www.aspneti.com.br/images/logo.gif'><br>Artigo Publicado na comunidade ASPNETI.COM.BR <br><br>" + objReader.GetString(1));
objX.WriteElementString("link","http://www.aspneti.com.br/visualizar/downloadArtigo.aspx?ch_artigos=" + objReader.GetInt64(0).ToString());
objX.WriteElementString("pubDate", objReader.GetDateTime(2).ToString("dd/MM/yyyy"));
objX.WriteEndElement();
}

objReader.Close();
sBanco.Desconecta();
objX.WriteEndElement();
objX.WriteEndElement();
objX.WriteEndDocument();
objX.Flush();
objX.Close();
Response.End();
}

Explicando o método:

        Primeiramente crio um objeto XmlTextWriter e vou escrevendo dentro dele. Crio vários elementos (WriteElementString) e vou adicionando as tags. Logo depois instancio a classe criada anteriormente de banco de dados e chamo o método para conectar.

        Na linha abaixo, depois de conectar no banco de dados, crio uma variável sql fazendo um select nas tabelas do banco de dados. Não use esse mesmo select, porque estou fazendo para o meu banco de dados e tabelas, você deverá ter o seu banco e suas tabelas. Criei o seu próprio select.

        Logo depois, executo e faço um laço adicionando valores aos elementos, depois fecho o objeto e o banco de dados e pronto, terminei de fazer o RSS.
Veja a figura abaixo mostrando executando o código que foi criado acima.

Espero ter ajudado a todos. 
 


Espero ter ajudado e qualquer dúvida pode entrar em contato pelo site.

voltar   comente  subir

 
Mauricio Junior Formado pela Faculdade Anhanguera, Especialista pela FGV (Fundação Getúlio Vargas), Pós-Graduação em Docência Superior e cursando Mestrado na UNB Engenharia Elétrica; .
Tenho 29 anos e possuo sete livros publicados pela editora Ciência Moderna. Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.COM, ECODE10.COM, onde publico artigos, vídeos, ebooks e livros Publico artigos, vídeos e podcast em outras comunidades. Trabalho como Analista de Sistemas / Desenvolvedor na empresa ATP S/A. Blog: blog.mauriciojunior.org, Site pessoal www.mauriciojunior.org



Comentários:

Comente (dê sua opinião):
Comentário:
Código Imagem:  (digite o código da imagem respeitando maiúsculo e minúsculo)

Favor digitar o código da imagem para cadastramento.

 

Outros Artigos do Autor

Emulando o Windows Phone 7 em seu celular
Visual Studio 11 – Melhorias e inovações parte 5
Desenvolvendo software com qualidade
CES 2008: Keynote do Bill Gates
Organizando o projeto em camada
Sistema de Catalogar Livros
Alerta JavaScript com Link Button
Conecte - novidades tecnológicas revolucionam a medicina
XAML Power Toys
Converter DataView em DataTable
GridView Parte I
Problemas na acentuação
Sistema de Login em ASP – Parte 10
ASP.NET 2.0 - FileUpload
Microsoft AdventureWorks Database
IsData
GridView - Valor total no footer
Web Administration Tool
Criando arquivo usando Visual Studio.NET 2005
Vídeo: postura, saúde e posicionamento na frente do computador
Sistema de Login em ASP – Parte IX
ASPNETi.COM chega aos 43 mil pageviews
Trabalhando com GridView e RowCommand
Controle de peso mobile
Exemplos de Queries Linq
Windows Phone 7 Series Developer Training Kit
Prepare o Sql Server para o VS 2005
Lendo Arquivo txt usando Visual Studio.NET 2005
Vídeo: Imagem Efeito
Generics na prática
O encontro Steve Jobs e Bill Gates
Focus()
Trabalhando com Session
ASP.MENU com Compatibilidade
Microsoft Rolls Out Major Xbox Software Update