.NET, Windows

XML com VB.NET – Agenda de contatos XML

Tive o interesse de aprender a manipular arquivos XML utilizando o Visual Basic .NET, após algumas consultas no oraculo, havia encontrado várias dicas.
Resolvi então compilar tudo, e criar uma aplicação que cria um arquivo XML, monta a estrutura, escreve dados e deleta dados.
Com certeza esta não é a unica nem a melhor maneira de se manipular xml usando vb .net, mas resolvi colocar os códigos on-line caso possa servir de consulta para alguem.
Desculpem pelo português e pela logica de macaco da NASA.

Recomendo baixar o projeto no link abaixo, para observação e estudos, o mesmo está comentado, e é bem simples de entender.

Download do Projeto/Código fonte

AgendaXML.rar

Para o projeto foi utilizado o Visual Basic 2005 Express Edition, que pode ser baixado gratuitamente no site da Microsoft

Inicie um novo projeto e renomeie para AgendaXML
Para iniciarmos a aplicação vamos precisar dos seguintes componentes:

5 TextBox:

1º – txtNome
2º – txtTelefone
3º – txtEndereco
4º – txtEmail

1 DataGrid:

1º – dtgCadastro

5 Buttons:

1º – cmdAdicionar
2º – cmdSalvar
3º – cmdRemover
4º – cmdApagar
5º – cmdSair

Utilize os seguintes Namespaces:
Imports System.Data
Imports System.IO

Na Classe frmAgendaXML declare a seguinte variavel
Private datatable As DataTable

No evento Load do formulario digite o seguinte código:
datatable = New DataTable(“cadastro”)
datatable.Columns.Add(“nome”)
datatable.Columns.Add(“endereco”)
datatable.Columns.Add(“telefone”)
datatable.Columns.Add(“email”)
If File.Exists(“c:\cadastro.xml”) Then
Try
datatable.ReadXml(“c:\cadastro.xml”)
Catch
datatable.WriteXml(“c:\cadastro.xml”)
End Try
dtgCadastro.DataSource = datatable
Else
File.Create(“c:\cadastro.xml”)
MsgBox(“O sistema criou o arquivo cadastro.xml no seu drive c:\. Reinicie a aplicação!”)
Application.Exit()
End If

De 2 cliques no botão Sair e digite o seguinte codigo:
Me.Close()

De 2 cliques no botão Adicionar e digite o seguinte código:
If (txtNome.Text.Trim() “”) Or (txtTelefone.Text.Trim() “”) Or (txtEndereco.Text.Trim() “”) Or (txtEmail.Text.Trim() “”) Then
Dim linha As DataRow = datatable.NewRow()
linha(“nome”) = txtNome.Text
linha(“telefone”) = txtTelefone.Text
linha(“endereco”) = txtEndereco.Text
linha(“email”) = txtEmail.Text
datatable.Rows.Add(linha)
dtgCadastro.Refresh() ‘refresh no Datagrid
txtNome.Text = “”
txtTelefone.Text = “”
txtEndereco.Text = “”
txtEmail.Text = “”
Else
MsgBox(“Preencha todos os campos!”)
End If

Dois cliques no botão Salvar e digite:
datatable.WriteXml(“c:\cadastro.xml”)
MsgBox(“Arquivo salvo com sucesso!”)

Dois cliques no botão Remover e digite o seguinte codigo:
Dim i As Integer = dtgCadastro.CurrentRowIndex()
If (i -1) Then
datatable.Rows(i).Delete()
datatable.AcceptChanges()
dtgCadastro.Refresh()
End If

No botão Apagar digite:
File.Create(“c:\cadastro.xml”)
MsgBox(“O sistema criou um novo arquivo cadastro.xml no seu drive c:\. E vai reiniciar a aplicação!”)
Application.Exit()

Dois cliques no objeto DataGrid(dtgCadastro), Vá ao evento CurrentCellChanged e digite:
Dim i As Integer = dtgCadastro.CurrentRowIndex()
If (i -1) Then
txtNome.Text = datatable.Rows(i)(“nome”).ToString()
txtTelefone.Text = datatable.Rows(i)(“telefone”).ToString()
txtEndereco.Text = datatable.Rows(i)(“endereco”).ToString()
txtEmail.Text = datatable.Rows(i)(“email”).ToString()
End If

Download do Projeto/Código fonte

AgendaXML.rar

Boa sorte.