|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 453
|
[Visual Basic]Piccolo aiuto lettura da xml
Ciao ho questo file xml
Codice:
<?xml version="1.0" ?> - <root> - <dati> <nome>Pippo</nome> <codice>1</codice> </dati> - <dati> <nome>Pluto</nome> <codice>2</codice> </dati> - <dati> <nome>Paperino</nome> <codice>3</codice> </dati> </root> Per ora sono riuscito a leggerne solo una parte. Ovvero riesco a leggere i tag nome quindi Pippo Pluto Paperino e a inserirli in una listbox ma non riesco a leggere e inserire nella listbox lstcodici i tag codice. Ecco il codice che ho prodotto fino a ora: Codice:
Option Explicit Dim obj As DOMDocument Dim nome As IXMLDOMNodeList Dim codice As IXMLDOMNodeList Dim elemento As IXMLDOMElement Dim nodo As IXMLDOMNode Dim nodo1 As IXMLDOMNode 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") Set codice = elemento.selectNodes("dati/nome/codice") ' ESTRAGGO I NODI E LI STAMPO A VIDEO For Each nodo In nome ' estraggo i clienti lstclienti.AddItem (nodo.Text) For Each nodo1 In codice 'estraggo i codici lstcodice.AddItem (nodo1.Text) Next Next 'pulisco Set nodo = Nothing Set nodo1 = Nothing Set nome = Nothing Set elemento = Nothing Set obj = Nothing End Sub Grazie. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 453
|
Ho trovato l'errore scusate,
era perche codice=dati/codice e non codice=dati/nome/codice Un'altra domanda... se volessi estrarre invece solo tutti i codici appartenenti al nome Paperino come devo fare? |
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Quote:
Codice:
For Each nodo In nome If nodo.Text = "Paperino" Then lstclienti.AddItem (nodo.Text) For Each nodo1 In codice lstcodice.AddItem (nodo1.Text) Next End If Next |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:43.