Neste artigo vou mostrar como podemos criar um pequeno projeto para visualizar arquivos XML usando a linguagem VB .NET. |
Neste artigo vou mostrar a criação de uma pequena aplicação Windows Forms que realiza a leitura de arquivos XML exibindo seu código fonte e sua estrutura detalhada.
É um artigo prático, e vamos realizar as seguintes operações:
Usar os controles TreeView, StatusStrip, MenuStrip, TabControl
Usar a classe PropertyGrid (Esta classe fornece uma interface para tratar as propriedades de um objeto)
Usar a caixa de Diálogo OpenDialog
Acessar e ler arquivos textos
Carregar documentos XML usando as classes do namespace System.XML
Preencher um controle TreeView com dados de um arquivo
então vamos ao que interessa...
Recursos Usados
Criando o projeto Windows Forms
Abra o VS 2015 Community e crie um novo projeto (File-> New Project) usando a linguagem VB .NET e o template Windows Forms Application.
Informe um nome a seu gosto. Eu vou usar o nome VisualizadorXML;
Selecione o formulário Form1.vb e partir da ToolBox inclua os seguintes controles:
1 MenuStrip
1 TabControl - TabPages : TreeViewPage - Text= TreeView e SourcePage - Text- Fonte
1 RichTextBox
1 TreeView
1 PropertyGrid
1 Label - lblNameFile
1 StatusStrip
Disponha os controles conforme o leiaute da figura abaixo:
A seguir declare os seguintes namespaces no formulário:
Imports System.Xml
Imports System.Text
Imports System.IO
Após a declaração do formulário
inclua o código a seguir onde definimos as variáveis usadas no formulário:
Dim _nomeArquivo As String =
String.Empty
Dim mDocumento As XmlDocument = Nothing
Definindo a propriedade NomeArquivo no formulário
Vamos definir a propriedade NomeArquivo no formulário do projeto de forma a tratar o nome do arquivo XML selecionado pelo usuário:
Private Property NomeArquivo As String
Get
Return _nomeArquivo
End Get
Set(value As String)
lblFileName.Text = value
_nomeArquivo = value
End Set
End Property
|
Esta propriedade obtém o nome do arquivo e o exibe na Label - lblFileName - na base do formulário.
Selecionando um arquivo XML
No menu Arquivo temos a opção Abrir que ao ser selecionada abre uma caixa de diálogo OpenFileDialog para que o usuário selecione um arquivo XML a ser exibido conforme a seguir:
Private Sub mnuOpen_Click(sender As System.Object, e As System.EventArgs) Handles mnuOpen.Click
If OpenDialog.ShowDialog = Windows.Forms.DialogResult.OK Then
NomeArquivo = OpenDialog.FileName
CarregarArquivo()
End If
End Sub
|
Neste código obtemos o nome do arquivo selecionado pelo usuário e o atribuímos à propriedade NomeArquivo e a seguir chamamos o método CarregarArquivo().
Carregando um arquivo XML
Apos selecionar o arquivo o método CarregarArquivo() vai tratar o arquivo XML usando o seguinte código:
Private Sub CarregarArquivo() If mDocumento Is Nothing Then mDocumento = New XmlDocument End If Dim Conteudo As String = File.ReadAllText(NomeArquivo, Encoding.Default)
mDocumento.LoadXml(Conteudo)
rtbXmlSource.Text = Conteudo
trvNodes.Nodes.Clear()
PreencheTreeView(trvNodes.Nodes, mDocumento.DocumentElement)
End Sub
|
Neste código criamos uma instância da classe XmlDocument que representa um documento XML e que pode ser usada para carregar, validar, editar, adicionar e posicionar o conteúdo XML em um documento.
Para carregar o arquivo usando o método LoadXml() passando o conteúdo lido pelo método ReadAllText() da classe File.
Atribuimos a seguir o resultado ao controle RichTextBox - rtbXmlSource - e a seguir chamamos o método PreencheTreeView() passando o controle TreeView, e elemento raiz do documento XML.
Preenchendo um TreeView com informações XML
No código deste método preenchemos o controle TreeView com as informações do XML:
Private Sub PreencheTreeView(TreeNodes As TreeNodeCollection, Xml_Node As XmlNode)
Dim NewNode = TreeNodes.Add(Xml_Node.Name)
NewNode.Tag = Xml_Node
For Each Node As XmlNode In Xml_Node.ChildNodes
PreencheTreeView(NewNode.Nodes, Node)
Next
trvNodes.ExpandAll()
End Sub
|
Ao selecionar um nó do controle TreeView obtemos informações do objeto e exibimos no controle PropertyGrid usando o evento AfterSelect do TreeView cujo código é mostrado abaixo:
Private Sub trvNodes_AfterSelect(sender As System.Object, e As System.Windows.Forms.TreeViewEventArgs) Handles trvNodes.AfterSelect
If trvNodes.SelectedNode IsNot Nothing Then
PropertyGrid1.SelectedObject = trvNodes.SelectedNode.Tag
End If
End Sub
|
Executando o projeto e selecionado um arquivo XML iremos obter o seguinte resultado:
Temos assim um visualizador de arquivos XML usando os recursos da linguagem VB .NET.
Pegue o projeto completo aqui : VisualizadorXML.zip
Porque todos
quantos fostes batizados em Cristo já vos revestistes de Cristo.
Nisto não há judeu nem grego; não há servo nem livre; não há macho nem
fêmea; porque todos vós sois um em Cristo Jesus.
Gálatas 3:27-28
Veja os
Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique
e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ? Quer aprender a criar aplicações Web Dinâmicas usando a ASP .NET MVC 5 ? |
Gostou ? Compartilhe no Facebook Compartilhe no Twitter
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Visual Studio - Dica de produtividade - Quick Launch - Macoratti.net
Visual Studio - Dica de produtividade - Nuget - Macoratti.net
C# - Salvando e Lendo informações em um arquivo XML - Macoratti