Salve a tutti ,
ho un problema che mi sta facendo scervellare. Lo so che magari non è il posto giusto per il Visual Basic 6 ma forse anche voi con la conoscenza del XML potreste darmi una mano.
Sto cercando di leggere da un file xml il contenuto per metterlo in una tabella.
La struttura del file è il seguente:

<Entry>
primo valore
secondo valore
etc
<Details>
<Detail>
primo valore
secondo valore
etc
<Detail>
primo valore
secondo valore
etc
<Detail>
primo valore
secondo valore
etc

La prima parte la leggo regolarmente ma i problemi cominciano con il secondo <Detail>.
inspiegabilmente il secondo <Detail> mi va a finire sulla riga sotto.
Il terzo <Detail> non c'è sempre e quindi devo trovare il modo di verificarne la presenza o meno.

' L'accesso al file xml è quello classico:

Dim obj As DOMDocument
Dim ritorno As IXMLDOMNodeList
Dim elemento As IXMLDOMElement
Dim nodo As IXMLDOMNode

' CARICO IL FILE XML
Set obj = New DOMDocument
obj.async = False
obj.Load App.Path & "\sviluppo\" & tipo_gioco & ".xml"
Set elemento = obj.documentElement

' qui setto i vari componenti del primo nodo

Set ritorno = elemento.SelectNodes("Entry/Return")
Set evento = elemento.SelectNodes("Entry/Event")
Set betkind = elemento.SelectNodes("Entry/BetKind")
etc etc

' qui quelli del primo nodo <Detail>

Set nome1 = elemento.SelectNodes("Entry/Details/Detail/Name")
Set betkind1 = elemento.SelectNodes("Entry/Details/Detail/BetKindEntry")
Set bookid1 = elemento.SelectNodes("Entry/Details/Detail/BookerId")

' qui quelli del secondo nodo <Detail>

Set nome2 = elemento.SelectNodes("Entry/Details/Detail/Name")
Set betkind2 = elemento.SelectNodes("Entry/Details/Detail/BetKindEntry")
Set bookid2 = elemento.SelectNodes("Entry/Details/Detail/BookerId")

' e qui quelli del terzo

Set nome3 = elemento.SelectNodes("Entry/Details/Detail/Name")
Set betkind3 = elemento.SelectNodes("Entry/Details/Detail/BetKindEntry")
Set bookid3 = elemento.SelectNodes("Entry/Details/Detail/BookerId")


' Per estrarre i dati e dovendoli mettere il una griglia uso un ciclo For... next

For x = 0 To ritorno.Length - 1
MSFlexGrid1.Row = riga: MSFlexGrid1.col = colonna
MSFlexGrid1.Text = ritorno(x).Text
colonna = colonna + 1: MSFlexGrid1.col = colonna
MSFlexGrid1.Text = evento(x).Text
colonna = colonna + 1: MSFlexGrid1.col = colonna
MSFlexGrid1.Text = betkind(x).Text
etc etc

' qui inizia il primo nodo <Detail>

colonna = colonna + 1: MSFlexGrid1.col = colonna
MSFlexGrid1.Text = nome1(x).Text
colonna = colonna + 1: MSFlexGrid1.col = colonna
MSFlexGrid1.Text = betkind1(x).Text
etc etc
' qui inizia il secondo nodo <Detail>
colonna = colonna + 1: MSFlexGrid1.col = colonna
MSFlexGrid1.Text = nome2(x).Text
colonna = colonna + 1: MSFlexGrid1.col = colonna
MSFlexGrid1.Text = betkind2(x).Text
etc etc

next x

e così via.
Dove sbaglio?? E' possibile leggere in un file simile dove ci sono nodi successivi con nome uguale?? Quale è il rimedio ?

Un grazie anticipato a tutti quelli che mi aiuteranno.

Gaspare