NUNCA MAIS PASSE RAIVA POR NÃO CONSEGUIR RESOLVER UM PROBLEMA COM O EXCEL - GARANTIDO!

UNIVERSIDADE DO VBA - Domine o VBA no Excel Criando Sistemas Completos - Passo a Passo - CLIQUE AQUI

Você está em: PrincipalArtigosNet : Xml003
Quer receber novidades e e-books gratuitos?

Guest Book com XML –Parte II

Olá Pessoal,

Dando continuidade ao nosso projeto Guest Book com XML, vamos implementar o código que lista os comentários já postados.

Havíamos criado uma rotina que verifica se o arquivo GuestBook.xml já existe, e neste mesmo trecho de código é que vamos fazer a listagem dos comentários. O código completo da rotina IniciarGuestBook() ficará assim:

private void IniciarGuestBook()

            {

                  ///Cria o dataset que armazenará o GuestBook

                  DataSet dsGuestBook=new DataSet();

                  ///Utiliza o objeto File para verificar a existencia do arquivo.

                  if(File.Exists("C:/GuestBook.xml"))

                  {

                        ///Caso o arquivo exista, solicita a leitura

                        dsGuestBook.ReadXml("C:/GuestBook.xml");

dlComentarios.DataSource=dsGuestBook.Tables["Comentarios"].DefaultView;

                        dlComentarios.DataBind();

                  }

                  else

                  {

                        ///Caso não exista, solicita a criação.

                        dsGuestBook.WriteXml("C:/GuestBook.xml");

                  }

            }

Como não há nenhum registro, o DataList não irá renderizar os comentários. Então, vamos já criar a página que irá adicionar um novo comentário.

Abra o arquivo AdicionarComentario.aspx e crie uma interface parecida com esta:

Os WebControls adicionados acima estão identificados da seguinte forma:

TextBox – txtNome – Informará o nome de quem está postando.

TextBox – txtComentarios – Local onde deverá se escrever o comentário.

Button – btnSalvar – Botão que executará o código de gravação do comentário.

Agora vamos ao código. Lembrando que você deve novamente importar o namespace System.Data

private void NovoComentario()

            {

                  ///Cria um novo Dataset

                  DataSet dsGuestBook=new DataSet();

                  ///Carrega o DataSet existente através do Xml

                  dsGuestBook.ReadXml("C:/Guestbook.xml");

                  ///Cria uma nova linha

                  DataRow dr=dsGuestBook.Tables["Comentarios"].NewRow();

                  ///Indica os valores de cada coluna

                  dr["Nome"]=txtNome.Text;

                  dr["Comentario"]=txtComentario.Text;

                  ///Adiciona a linha criada.

                  dsGuestBook.Tables["Comentarios"].Rows.Add(dr);

                  ///Grava as alterações no arquivo xml.

                  dsGuestBook.WriteXml("C:/GuestBook.xml");

            }

Veja que não precisamos de muito esforço em código para abrir, adicionar um novo registro, e gravar as modificações no arquivo xml. Isto tudo é possível porque o objeto DataSet nos traz um conjunto de métodos para manipular este arquivo.

Para chamar esta rotina, clique duas vezes no btnGravar, e no evento clique adicione o seguinte código:

private void btnGravar_Click(object sender, System.EventArgs e)

            {

                  ///Chama a rotina que adiciona o comentário

                  NovoComentario();

                  ///Redireciona para a página que visualiza os comentários

                  Response.Redirect("VisualizarComentarios.aspx");

            }

      }

Agora vamos testar:

Executando a página pela primeira vez:

Vejam que nada apareceu, mas o DataSet com a tabela Comentários foram criados.

Executando pela segunda vez:

Notem que agora o DataList renderizou o que criamos.

Agora, clique em AdicionarNovo:

Escreva algum comentário e clique em Gravar o comentário.

O comentário foi gravado!

Vejam que funcionou perfeitamente, e você tem toda a liberdade de melhorar esta aplicação.

Esta é uma boa opção de trabalhar com persistência de dados sem precisar usar banco de dados relacional.

Tenho postado aqui, tutoriais voltados para aplicações práticas em ASP.Net. Caso tenham sugestões do que podemos desenvolver juntos, envie para lanodecastro@hotmail.com, será sempre um prazer em acatá-las!

Abraços,

Lano de Castro

1 Visão geral do .NET Framework e do CLR
1 Comunicação .NET e VB 6.0 (com Visual Studio.NET 2005) - Parte I
1 Desenvolvendo aplicações Windows utilizando o VB.NET e o C# - Parte 1
1 Desenvolvendo aplicações Windows utilizando o VB.NET e o C# - Parte 2
1 Desenvolvendo aplicações Windows utilizando o VB.NET e o C# - Parte 3
1 Desenvolvendo aplicações Windows utilizando o VB.NET e o C# - Parte 4
1 Desenvolvendo aplicações Windows utilizando o VB.NET e o C# - Parte 5
1 VB: Menu Principal, Menu PopUp e Arquivos Texto
Visual Studio
1 ASP.NET 2.0 - Conhecendo o ObjectDataSource Control
1 Visual Web Developer - 2005 - Beta 2 - Introdução
1 ASP.NET 2.0 - Conhecendo o GridView
1 ASP.NET 2.0 - Utilizando o GridView e DetailsView
1 ASP.NET 2.0 - Conhecendo o ObjectDataSource Control - Parte 2
1 ASP.NET 2.0 - Utilizando o XmlDataSource
1 Envio de e-mail através de formulário web
1 ADO.NET 2.0 - Conhecendo as novidades parte 1
1 Série Visual Source Safe - Parte 1
1 Série Visual Source Safe - Parte 3
1 URL Indexável – Reescrever URL de uma forma amigável
1 Permissão de Página Utilizando Web.Config
1 Usando public interface
1 Trabalhando com o componente TabContainer
1 Adicionando Menu no DataGridView
ASP.NET
1 Conhecendo o ambiente integrado do WebMatrix
1 Desenvolvendo aplicações ASP.NET no WebMatrix - WebControls – Parte I
1 Desenvolvendo aplicações ASP.NET no WebMatrix - WebControls – Parte II
1 Desenvolvendo aplicações ASP.NET no WebMatrix - WebControls – Parte III
1 Acessando um banco de dados facilmente com ADO.Net e Datagrid
1 Desvendando os segredos do Dataset- Parte I
1 Construindo um Sistema de Publicação de Notícias – Parte 1
1 Construindo um Sistema de Publicação de Notícias – Parte 2
1 Construindo um Sistema de Publicação de Notícias – Parte 3
1 Construindo um Sistema de Publicação de Notícias – Parte 4
1 Construindo um Sistema de Publicação de Notícias – Parte 5
1 Login com Perfil de Acesso
1 Guest Book com XML - Parte 1
1 Guest Book com XML - Parte 2
1 Agendando Datas no Calendário com XML
1 Filtrando e Organizando Dados com o Controle DataView
1 Lista de Dados com Subitens – Parte 1
1 Lista de Dados com Subitens – Parte 2
1 Trabalhando com Arquivos e Diretórios – Parte 1
1 Trabalhando com Arquivos e Diretórios – Parte 2
1 Trabalhando com Arquivos e Diretórios – Parte 3
1 Sistema de Enquetes baseado em WebServices – Parte 1
1 Sistema de Enquetes baseado em WebServices – Parte 2
1 Sistema de Enquetes baseado em WebServices – Parte 3
1 Upload de Arquivos
1 Crie seu próprio código de verificação
1 Login e Senha com FormsAuthentication – Parte 1
1 Login e Senha com FormsAuthentication – Parte 2
1 Sistema de Enquetes baseado em WebServices – Parte 4
1 Sistema de Enquetes baseado em WebServices – Parte 5
1 Sistema de Enquetes baseado em WebServices – Parte 6