
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:
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
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


0