Gerando XML para um registros selecionado.
A XML eXtensible Markup Language é uma linguagem de marcadores como a HTML e foi desenhada para descrever dados , a sua grande vantagem é que ela é extensível , ou seja , você não esta limitado a um certo número de tags , e pode criar as suas próprias tags, assim sendo ela é uma linguagem auto definível . Para descrever os dados a XML usa a DTD Document Type Definition.
Para saber mais sobre o assunto leia em : XML - eXtensible Markup Language - Introdução
Neste artigo vou mostrar como você pode usar os recursos do VB para gerar um documento XML para um registro selecionado em um Data Grid. Vamos usar a ADO para fazer a conexão com a base de dados Nwind.mdb e a seguir exibir os dados em grid usando o controle Data Grid. Ao selecionar um registro e clicar no botão Gerar XML , um arquivo XML será gerado com os dados do registro , sendo exibido no seu navegador padrão. Ao trabalho...
1- Inicie um novo projeto no VB e faça as seguintes referêncais em seu projeto:
2- No formulário padrão insira : dois botões de comando , um controle Data Grid e um Label, conforme abaixo
3- Agora no na seção General declarations do formulário digite o código para declarar as variáveis objeto usadas:
Option Explicit Private cn As ADODB.Connection Private rs As ADODB.Recordset |
4- No evento Click do botão Conectar insira o código que irá conectar com a base de dados e gerar a grade exibindo os dados:
Private Sub cmdConectar_Click() Set cn = New ADODB.Connection Set rs = New ADODB.Recordset cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & "\teste\NWIND.MDB" cn.CursorLocation = adUseClient cn.Open rs.Open "select ProductID, ProductName, SupplierID from products", cn, adOpenStatic,_ adLockOptimistic Set DataGrid1.DataSource = rs End Sub |
5- A seguir inclua o código abaixo no evento Click do botão - Gerar XML - : Este código irá gerar o arquivo XML para o registro selecionado.
Private Sub cmdXML_Click() Dim objDOC As DOMDocument Dim objNodeList As IXMLDOMNodeList Dim objIE As InternetExplorer Set objDOC = New DOMDocument objDOC.Load App.Path & "\nwindprod.xml" Set objNodeList = objDOC.documentElement.selectNodes("Product") With objNodeList(0) .childNodes(0).Text = rs.Fields("ProductID") .childNodes(1).Text = "" & rs.Fields("ProductName") .childNodes(2).Text = "" & rs.Fields("SupplierID") End With objDOC.save App.Path & "\nwindprod.xml" Set objIE = New InternetExplorer objIE.Navigate App.Path & "\nwindprod.xml" objIE.Visible = True End Sub |
6- Para encerrar feche todos os objetos e libera memória:
Private Sub Form_Unload(Cancel As Integer) On Error Resume Next rs.Close cn.Close Set rs = Nothing Set cn = Nothing End Sub |
Ao executar e clicar no botão Conectar você vera a tela a seguir:
Ao selecionar um registro e clicar no botão Gerar XML teremos:
Aguarde mais dicas sobre VB. Até mais ...