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 : Xml002
Quer receber novidades e e-books gratuitos?

Guest Book com XML

Olá pessoal,

Hoje iremos aprender a utilizar mais alguns recursos do DataSet. Iremos criar um Livro de Visitas, mas conhecido como Guest Book, mas sem usar banco de dados para fazer a persistência dos dados. Iremos gravar tudo em XML.

Então, mão na massa!

Crie um novo projeto chamado GuestBook. Você pode fazê-lo tanto em C# como em VB.Net, eu optei por C#.

Teremos 2 arquivos para este projeto. Um chama-se AdicionarComentario.aspx e o outro chama-se VisualizarComentarios.aspx. Creio que não há necessidade de informar o que cada um vai fazer, o próprio nome do arquivo já diz a função.

Abra o arquivo VisualizarComentarios.aspx. A primeira coisa que deve acontecer é a criação do arquivo XML, caso ele não exista. Logo, teremos que fazer esta verificação e depois tratar os resultados. Vá para o editor de código e importe os seguintes Namespaces:

using System.Data;

using System.IO;

Ainda no editor de código, crie a rotina abaixo:

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.

                        ///Cria um novo DataTable para gerar a tabela Comentarios

                        DataTable Comentarios=new DataTable("Comentarios");

                        ///Cria o coluna Nome

                        Comentarios.Columns.Add("Nome");

                        ///Cria a coluna Comentario

                        Comentarios.Columns.Add("Comentario");

                        ///Adiciona a tabela Comentarios ao Dataset.

                        dsGuestBook.Tables.Add(Comentarios);

                        ///Cria a primeira linha na tabela para que ela possa ser localizada

                        DataRow dr=Comentarios.NewRow();

                        dr["Nome"]="MyGuestBook";

                        dr["Comentario"]="Seja bem vindo, poste seu comentário";

                        ///Adiciona a linha criada acima.

                        Comentarios.Rows.Add(dr);

                        ///Grava as alterações novamente no arquivo Xml.

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

                  }

            }

Vale lembrar que ainda não inserimos nenhum objeto de interface na página, então a melhor hora de fazer isto é agora. Coloque um título na sua página, e insira um DataList e um Hiperlink:

Dê ao DataList o nome de dlComentarios e ao Hyperlink, mude a propriedade Text para “Adicionar Novo” e na propriedade NavigateURL digite “AdicionarComentario.aspx”.

Agora, selecione o DataList e clique em AutoFormat, escolha um modelo e clique em OK.

O próximo passo é criar os templates do DataList. Clique com o botão direito sobre o dlComentarios e vá em Edit Templates>Item Template.

Insira um label dentro da seção Item Template.

Ainda com o label selecionado,  vá na caixa de propriedades, e na propriedade Text escreva <%# DataBinder.Eval(Container.DataItem, "Comentario") %>. Abaixo do label inserido, insira mais um label, selecione e altere a propriedade Text para <%# DataBinder.Eval(Container.DataItem, "Nome") %>. Aproveite a seleção para formatar a cor e o estilo da fonte deste label e do outro, seria legal deixá-los diferentes, veja:

Clique com o botão direito sobre o dlComentarios, vá em Edit Templates>Header and Footer Templates.

Arraste o HyperLink “Adicionar Novo” para dentro da seção Footer Template.

Conclua a edição do template clicando com o botão direito sobre o dlComentarios>End Template Editing. Deve ficar mais ou menos com esta aparência:

Chame a rotina IniciarGuestBook() no PageLoad:

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

            {

                  if(!Page.IsPostBack)

                  {

                        IniciarGuestBook();

                  }

            }

Na primeira execução, não irá aparecer nada, mas na segunda vez que você executar a página, irá aparecer o primeiro registro, este que adicionamos com o código.

Ok, no próximo tutorial, concluiremos o nosso Guest Book em XML

Espero que tenham gostado da novidade, e não deixem de acompanhar a publicação de mais tutorias no site.

Um abraço,

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