quarta-feira, 23 de abril de 2008

Persistir dados em XML - Manipulação XML

Nunca tive necessidade de persistir dados em XML.
Porém recentemente tive faze-lo para agilizar uma tarefa no trabalho.
Já sabia que o .NET framework dava um suporte muito bom a manipulação de arquivos XML, então resolvi colocar a mão na massa!
Em 5 minutos já havia aprendido tudo que eu necessitava para a tarefa.
Isso é fruto de uma comunidade ativa e uma documentação completa.
Uma rapida busca pela internet e encontrei muito material, bem completo. Mas como eu precisava de pouca coisa, fui aprendendo no melhor estilo hands-on
A intenção desse post é fazer você também aprender em 5 minutos uma das formas de manipulação de arquivos XML.
Gravar dados em XML é uma tarefa bem fácil.
Primeiro crie um DataTable
Depois adicione as colunas, como uma tabela no banco de dados ou uma planilha no excel.
Por fim basta chamar o método WriteXmlSchema passando o nome do arquivo XML a ser criado.

DataTable planilha = new DataTable("Template");
planilha.Columns.Add("Matricula");
planilha.Columns.Add("Nome");
planilha.Columns.Add("Nota1");
planilha.Columns.Add("Nota2");
planilha.WriteXmlSchema("TemplateAlunos.xml");


Bem simples até agora, e vai continuar muito simples.
Agora que já temos o schema feito, basta inserir os dados.
Vamos então criar outro arquivo XML para inserir os dados.
Lembrando que esse exemplo é só uma maneira, no caso, a maneira que melhor contribuiu para que eu resolvesse o problema no momento
Então, criando um novo DataTable, lendo o schema já pronto no "TemplateAlunos.xml"
Depois vamos adicionar uma nova linha a tabela e por fim escrever os dados no xml



//lendo o schema criado
anteriormente
tabela.ReadXmlSchema("TemplateAlunos.xml");
//criando uma
nova linha
DataRow linha = tabela.NewRow();
//atribuindo valores a linha
linha["Matricula"] = "243343";
linha["Nome"] = "Joao Bosco";
linha["Nota1"] = "10";
linha["Nota2"] = "5";
//adicionando linhas a
tabela
tabela.Rows.Add(linha);
//escrevendo os dados em um novo
XML
tabela.WriteXml("alunos.xml");

Pronto!
Bem simples e rápido.
Agora com o DataTable você pode fazer qualquer coisa e depois gravar no XML.
Você pode por exemplo jogar os dados do DataTable para o grid e trabalhar com eles lá, inserção edição e etc... e no final gravar no arquivo XML
Espero que essa dica ajude alguem, e que ninguém perca mais de 5 minutos para aprender isso!

1 comentários:

Jader de Andrade disse...

a variavel tabela não foi declarada seu tipo, por isso seu código não funciona.

 
João Bosco Seixas