VB .NET -  Visulizador de arquivos XML


 Neste artigo vou mostrar como podemos criar um pequeno projeto para visualizar arquivos XML usando a linguagem VB .NET.

Eu já escrevi dezenas de artigos sobre XML, incluindo , conceitos, tratamento, etc. por este motivo não vou me ater aos conceitos envolvidos no tratamento do XML com VB .NET. Se precisar saber mais veja os artigos nas referências.

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:

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:

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:


José Carlos Macoratti