Visual Basic - Tratar archivo XML por nodos

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

Tratar archivo XML por nodos

Publicado por Tana (4 intervenciones) el 29/09/2016 10:54:43
Buenos días a todos/as,

Tengo un problemilla y quisiera si alguna me pudiera ayudar!

Estoy tratando un archivo xml, por medio de nodos, lo que pretendo es leer el archivo xml e ir leyendo los datos de cada nodo e insertarlos en una matriz virtual por así decirlo y pasar al siguiente nodo y así sucesiamente e ir insertando los datos en la matriz y finalmente cuando llegue al ultimo nodo a tartar coger esa matriz y volcarla en una hoja de excel. Pero no encuentro la manera de hacerlo. Tengo esto:

1
2
3
4
5
6
7
8
9
10
11
12
Set Dat = oXMLFile.SelectNodes("/TRIAL_BALANCE/LIST_G_TRX_TYPE/G_TRX_TYPE/LIST_G_TRX_CODE/G_TRX_CODE")
 
contador = (Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row)
contador = contador + 1
 
For i = 0 To Dat.Length - 1 ' Longitud de los subnodos que tiene el nodo hijo
        For j = 0 To Dat(i).ChildNodes.Length - 1 ' Posición de los subnodos para obtener sus datos
            On Error Resume Next
            misdatos(i, 0) = Dat(i).ChildNodes(1).Text ' Obtenemos del nodo hijo el dato días
            misdatos(i, 1) = Dat(i).ChildNodes(2).Text ' Obtenemos del nodo hijo el dato Noches
            misdatos(i, 2) = Dat(i).ChildNodes(3).Text ' Obtenemos del nodo hijo el dato Importe
            misdatos(i, 3) = Dat(i).ChildNodes(4).Text ' Obtenemos del nodo hijo el dato Fecha

Pero no se como hacerlo, porque obtengo esos datos del primer nodo pero no se meterlos en una matriz, y saltar al siguiente nodo, tratarlo y volver a inserter los nuevos datos en la siguiente linea de la matrriz y así sucesivamente.

Podrían ayudarme?

La matriz no se que dimensiones tiene, porque depende de los valores que vengan del archivo xml, así que tampoco se que dimension ponerle.

GRacias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder