Leggere un file Xml col DOM in VB 6

Applicazioni desktop con Visual Basic 6
Impara a creare applicazioni gestionali col Visual Basic

Scritto da Luca Ruggiero nella sezione Visual Basic

Nella sezione Xml abbiamo visto come utilizzare il DOM per leggere i nodi di un file Xml con diversi linguaggi. In questo Articolo analizzeremo in breve il DOM per Visual Basic, che è leggermente differente da quello utilizzato per il Web.

Si apra un nuovo progetto e si crei una form al cui interno vi sia soltanto una Label che chiameremo lblXml e la si renda abbastanza grande da poter stampare a video i risultati del file Xml test.xml da salvare nella cartella del progetto, di cui espongo il codice:

<?xml version="1.0"?>
<root>
    <dati>
        <nome>Pippo</nome>
    </dati>
    <dati>
        <nome>Pluto</nome>
    </dati>
    <dati>
        <nome>Paperino</nome>
    </dati>
</root>
Prima di iniziare si importi nel progetto un riferimento alla libreria Xml che utilizzeremo, ovvero Microsoft XML, v3.0 (per chi non sa come importare un riferimento, consiglio di leggere questo Articolo).

Si inizializzi l'applicazione con la dichiarazione di alcune variabili che utilizzeremo nel progetto:
Option Explicit
    Dim obj As DOMDocument
    Dim nome As IXMLDOMNodeList
    Dim elemento As IXMLDOMElement
    Dim nodo As IXMLDOMNode
Dichiaro la variabile obj come nuovo documento DOM e mi servirà per importare il file Xml nell'applicazione; la variabile elemento mi serve da appoggio per la variabile nome che recupera il nodo che mi interessa dal documento Xml; la variabile nodo, in fine, mi serve per eseguire il ciclo che restituirà in output tutti i nodi presenti nel documento Xml.

Di seguito il codice commentato da eseguire al caricamento della pagina:
Private Sub Form_Load()
    ' CARICO IL FILE XML
    Set obj = New DOMDocument
    obj.async = False
    obj.Load "test.xml"

    ' RECUPERO IL NODO CHE MI INTERESSA
    Set elemento = obj.documentElement
    Set nome = elemento.selectNodes("dati/nome")

    ' ESTRAGGO TUTTI I NODI E LI STAMPO A VIDEO
    For Each nodo In nome
        lblXml.Caption = lblXml.Caption & nodo.Text & vbCrLf
    Next

    ' UN PO DI PULIZIA...
    Set nodo = Nothing
    Set nome = Nothing
    Set elemento = Nothing
    Set obj = Nothing
End Sub

I più cliccati della sezione Visual Basic

:: Guida a Visual Basic 6 (177.810)

:: Una rubrica in VB e Ms Access (98.452)

:: Richiamare una form da un'altra form in Visual Basic (25.010)

:: Interazione tra Visual Basic ed MS Excel (22.439)

:: Una semplice calcolatrice in VB 6 (22.430)

:: Inviare email con CDO in Visual Basic 6 (21.549)

:: Un visualizzatore di immagini in VB 6 (14.546)

:: Un semplice sistema di Login in VB 6 (12.881)

:: Scrivere un file MS Word in VB6 (12.597)

:: Creazione e cancellazione di un file di testo con Visual Basic (12.306)

IN EVIDENZA
DOWNLOAD