ASP.NET 2.0 - Criando um Blog V
Como anda o nosso Blog ? Meio atrasado mas vai bem , obrigado. Se você chegou agora veja os artigos anteriores já publicados:
Nesse artigo vou apresentar a criação das páginas a para exibição dos arquivos e do RSS do Blog. g. Ao trabalho...
Ao abrir a página do Blog o usuário irá visualizar o seguinte formulário web:
No menu Links temos a opção RSS que irá gerar um RSS dos posts do Blog.
Criando a página de para gerar o RSS
Lembrando que criamos o componente Links.ascx para exibir as opções do menu LInks.
O arquivo Links.ascx possui um componente GridView vinculado a um SqlDataSource que possui a seguinte instrução SQL : SELECT * FROM [Links] ORDER BY [sequencia].
Se editarmos as colunas do GridView iremos notar que temos um único campo Links configurado para exibir o título da coluna, e, quando for clicado a navegação será feita com base no campo url conforme figura abaixo;
Sendo que a url para o campo RSS é definida como igual a ~/Rss.aspx na tabela Links.
Vejamos então o que faz a página Rss.aspx:
O WebForm Rss.aspx não possui nenhum componente visual pois irá exibir o rss das tags do site. O trabalho é feito no seu arquivo code-behind Rss.aspx.vb que possui o seguinte código:
Imports System.DataImports System.XmlImports DALPartial Class Rss Inherits System.Web.UI.PageProtected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Response.ContentType = "text/xml"Dim sql As String = "select top 5 * from mensagens order by data desc" Dim ds As DataSet Try ds = AcessoBD.ExecuteDataSet(sql)
writer.WriteAttributeString( "version", "2.0")writer.WriteStartElement( "channel")writer.WriteElementString( "title", "Macoratti Blog")writer.WriteElementString( "link", "http://www.macoratti.net")writer.WriteElementString( "description", "Blog do Macoratti")writer.WriteElementString( "copyright", "Copyright (C) BlogMac")writer.WriteElementString( "generator", "Gerador RSS - Blog")
For Each row As DataRow In ds.Tables(0).Rows writer.WriteStartElement("item") writer.WriteElementString("title", row("titulo")) writer.WriteElementString("link", "http://www.macoratti.net/ExibeMensagens.aspx?id=" & row("mensagemID")) writer.WriteElementString("description", row("mensagem")) writer.WriteElementString("pubDate", CType(row("data"), DateTime).ToString("dd MMM yyyy 12:00:00 G\MT")) writer.WriteEndElement() Next
writer.WriteEndElement() writer.WriteEndElement() writer.Flush()
End Class |
Este código usa o namespace System.XML para gerar o RSS das 5 primeiras mensagens ordenadas por data no formato RSS:
Dim sql As String = "select top 5 * from mensagens order by data desc"
É importante notar a declaração que define o encode da página e o contentType como text/xml
Response.ContentEncoding = System.Text.Encoding.UTF8
Response.ContentType =
"text/xml"A seguir geramos um dataset com os dados retornados pela execução do SQL definido
ds = AcessoBD.ExecuteDataSet(sql)
O restante do código gera o RSS no formato Xml. Note as tags: title, link, description, etc.
writer.WriteStartElement(
"rss")writer.WriteAttributeString(
"version", "2.0")writer.WriteStartElement(
"channel")writer.WriteElementString(
"title", "Macoratti Blog")writer.WriteElementString(
"link", "http://www.macoratti.net")writer.WriteElementString(
"description", "Blog do Macoratti")writer.WriteElementString(
"copyright", "Copyright (C) BlogMac")writer.WriteElementString(
"generator", "Gerador RSS - Blog")
For Each row As DataRow In ds.Tables(0).Rows
writer.WriteStartElement("item")
writer.WriteElementString("title", row("titulo"))
writer.WriteElementString("link", "http://www.macoratti.net/ExibeMensagens.aspx?id=" & row("mensagemID"))
writer.WriteElementString("description", row("mensagem"))
writer.WriteElementString("pubDate", CType(row("data"), DateTime).ToString("dd MMM yyyy 12:00:00 G\MT"))
writer.WriteEndElement()
Next
writer.WriteEndElement()
writer.WriteEndElement()
writer.Flush()
Para saber mais sobre como gerar XML no VB .NET leia os meus artigos:
Abaixo temos uma figura exibindo o RSS gerado para os últimos 5 posts do Blog:
A próxima etapa é mostrar como efetuar criação da página a para exibição dos arquivos do site.
Veja a continuação do artigo em : Criando um Blog VI
A vídeo Aula deste artigo esta no Super DVD Vídeo Aulas
Até o próximo artigo ASP .NET
José Carlos Macoratti