VB 6 - Integrando XML Com VB
VB 6 - Integrando XML Com VB
VB 6 - Integrando XML Com VB
Para acessar um arquivo XML usando o Visual Basic voc pode escolher : criar voc mesmo um
programa para fazer a leitura ou usar um programa j pronto para fazer o servio . Como voc
no vai querer reinventar a roda no mesmo, creio que a segunda opo esta de bom
tamanho.
Um interpretador para ler arquivos XML conhecido como um XML Parser , e, existem muitos
programas que cumprem esta funo . Neste artigo eu vou falar sobre o XML DOM (
Document Object Model).
O XML DOM utiliza o modelo Tree-Based (baseado em rvore) e cria uma estrutura de dados
na memria para representar os dados do arquivo XML permitindo acessar de forma aleatria
qualquer n dentro do documento XML.
O XML DOM tambm representa um modelo de objeto a partir do qual podemos interpretar e
criar dados ; como este modelo um modelo baseado em rvore o modelo DOM vai permitir a
nossa aplicao Visual Basic navegar atravs da rvore com ns representando elementos ,
atributos , comentrios e outras estruturas. Abaixo do nvel do n raiz ( o topo ) temos os ns
filhos , parentes e irmos interligados ou no.
A API XML DOM permite o modelo de objeto representar um n e obter informaes sobre
um n e os demais ns a ele ligados . A interface Node (n) o corao do esquema DOM ;
praticamente tudo que precisamos para obter as informaes em um arquivo XML. Abaixo
temos uma representao desta interface e os principais tipos de ns.
Ento resumindo :
A hierarquia das interfaces presente no modelo DOM esta representado abaixo. (somente as
interfaces mais comuns).
<?xml version="1.0"?>
<!-- *********** agenda para pessoas *********** -->
<!DOCTYPE PEOPLE SYSTEM "agenda.dtd">
<PEOPLE>
<PERSON PERSONID="p1">
<NAME>Mark Wilson</NAME>
<ADDRESS>911 Somewhere Circle, Canberra, Australia</ADDRESS>
<TEL>(++612) 12345</TEL>
<FAX>(++612) 12345</FAX>
<EMAIL>[email protected]</EMAIL>
</PERSON>
<PERSON PERSONID="p2">
<NAME>Tracey Wilson</NAME>
<ADDRESS>121 Zootle Road, Cape Town, South Africa</ADDRESS>
<TEL>(++2721) 531 9090</TEL>
<FAX>(++2721) 531 9090</FAX>
<EMAIL>Tracey [email protected]</EMAIL>
</PERSON>
<PERSON PERSONID="p3">
<NAME>Jodie Foster</NAME>
<ADDRESS>30 Animal Road, New York, USA</ADDRESS>
<TEL>(++1) 3000 12345</TEL>
<FAX>(++1) 3000 12345</FAX>
<EMAIL>Jodie [email protected]</EMAIL>
</PERSON>
<PERSON PERSONID="p4">
<NAME>Lorrin Maughan</NAME>
<ADDRESS>1143 Winners Lane, London, UK</ADDRESS>
<TEL>(++94) 17 12345</TEL>
<FAX>++94) 17 12345</FAX>
<EMAIL>Lorrin [email protected]</EMAIL>
</PERSON>
<PERSON PERSONID="p5">
<NAME>Steve Rachel</NAME>
<ADDRESS>90210 Beverly Hills, California, USA</ADDRESS>
<TEL>(++1) 2000 12345</TEL>
<FAX>(++1) 2000 12345</FAX>
<EMAIL>Steve [email protected]</EMAIL>
</PERSON>
<PERSON PERSONID="p6"><NAME>Macoratti</NAME>
<ADDRESS>Rua doze , 100</ADDRESS>
<FAX>017-2247766</FAX>
<TEL>1632-4654</TEL>
<EMAIL>[email protected]</EMAIL>
</PERSON>
</PEOPLE>
Note que o arquivo agenda.xml faz referncia ao arquivo agenda.dtd cuja estrutra a
seguinte:
- Quando o usurio
clicar em um N os
dados sero exibidos
nas caixas de texto
do formulrio
- Darei tambm a
opo de poder
incluir/excluir um
elemento no arquivo
agenda.xml e trat-
lo como sendo um
novo dado
Quando o usurio
clicar no
boto :Preenche os
dados do arquivo
agenda.xml sero
exibidos como na
figura ao lado.
- Ao clicar em um
N (sinal de +) os
dados sero exibidos
nas caixas de texto
Option Explicit
Private m_objDOMPessoa As DOMDocument
Private m_blnItemClicked As Boolean
Private m_strXmlPath As String
Dim flagpreenche As Boolean
3- Cdigo do evento Load do formulrio: definimos o caminho do arquivo agenda.xml e
atribuimos o valor False a varivel - flagpreenche.
4- Agora temos o cdigo do boto - Preenche - que ir carregar e ler os dados do arquivo
agenda.xml e exib-lo no controle - tvwPessoa.
End Sub
'verifica os atributos
If objAttributes.length > 0 Then
tvwElement.EnsureVisible
intIndex = tvwElement.Index
End Sub
Quando o usurio clica em um N ele se expande e exibe os detalhes no controle TreeView e
nas caixas de texto. O cdigo do evento Click do controle treeView - tvwPessoa o seguinte:
Para exibir o contedo do arquivo XML , basta clicar no boto - XML >> . O controle
WebBrowser exibe os dados do arquivo xml conforme abaixo:( O cdigo esta ao lado)
webbrowser.
- Para salvar um novo elemento usamos o cdigo associado ao evento Click do boto - Salvar
m_objDOMPessoa.save m_strXmlPath
webTarget.Refresh
Set objPerson = Nothing
Set objNewChild = Nothing
End Sub
- Para excluir um elemento usamos o seguinte cdigo associado ao evento Click do boto -
Excluir:
- O cdigo acima chama a funo - deleteSelectedPerson - que tem o seu cdigo exibido
abaixo:
'interagem atraves dos nos achadose preenche o texto com os conteudo dos nos
For Each objChildElement In objPessoaElement.childNodes
Com isto acabei de mostrar como tratar arquivos XML no VB usando o DOM ...