Visual Basic.NET - XML en array

 
Vista:
sin imagen de perfil

XML en array

Publicado por PETETE (37 intervenciones) el 04/07/2017 06:52:00
Hola buenas,

La duda que me ha surjido es la siguiente: como puedo guardar un xml en un array apra despues plasmarlo en un excel?
Llevo intentado guardar todos los nodos hijo y los nodos nieto en un array pero no me sale...


¿alguien podría echarme una manita por favor?

toda ayuda es siempre muy agradecida.

Un saludo de vuestro amigo y vecino,
PETETE;)
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
sin imagen de perfil
Val: 481
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

XML en array

Publicado por Miguel (476 intervenciones) el 06/07/2017 02:41:20
Hola,
Lo mejor es que utilices Array de Structure (o Class, si es más complejo) para cargar los datos de tu XML.


Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

XML en array

Publicado por omar (166 intervenciones) el 06/07/2017 02:49:57
saludos

puedes cargar un xml en un datagridview y de ahi enviarlo a excel

puedes cargar un xml en un dataset y de ahi exportarlo a excel

las dos formas son sencillos de realizar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

XML en array

Publicado por PETETE (37 intervenciones) el 07/07/2017 09:47:41
Hola buneas,
lo primero y antes que nada deciros que gracias por contestar.
Lo segundo, he intentado hacer como me habeis dicho pero no me sale.
Estoy probando de otra manera.
primero leo el xml, segundo, guardo lo que leo en un string y asigno el string a una posicion de un array.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Dim bsalida(,) As String
 
 Dim dato1 As String
 
Public Enum c0 As Integer
                aplicacion = 2
End Enum
 
 For Each nodohijo In nodocabecera
            Select Case nodohijo.Name
                Case "Aplicacion"  ' NODO HIJO1 DE NODO CABECERA
                    dato1 = nodohijo.InnerText
Next
 
 bsalida(fila, c0.aplicacion) = dato1
 
  Dim num_filas As Integer = bsalida.GetLength(0) - 1
        Dim num_colus As Integer = bsalida.GetLength(1) - 1
 
        Dim rango As Microsoft.Office.Interop.Excel.Range = xlhoja.Range(xlhoja.Cells(1, 1), xlhoja.Cells(num_filas + 1, num_colus)) ' seleccionamos el rango de celdas,
        With rango '   
            .NumberFormat = "@" ' formato texto, para que no quite ceros a izda
            .Value = bsalida                                               ' le añadimos la matriz completa,
            '.Cells.EntireColumn.AutoFit()                               ' ajustamos el ancho de las columnas,
            '.Interior.Color = Microsoft.Office.Interop.Excel.XlRgbColor.rgbAqua                  ' y le damos un color
            ' ALTO DE LA CELDA -----
            .RowHeight = 15    ' ALTURA DE LAS CELDAS FIJA, PARA QUE AUTOAJUSTE 
        End With
 
 
 
        xlapp.ReferenceStyle = Microsoft.Office.Interop.Excel.XlReferenceStyle.xlR1C1 'xlR1C1

Este codigo es el mio pero acortado. Es lo mismo pero una enumeracion mas larga mas datos como string y demás..
La cosa es que al ejecutar este codigo me da error nada mas lee bsalida(fila, c0.aplicacion)=dato1.
El error es el siguiente: Referencia a objeto no establecida como instancia de un objeto.

Agradecería mucho una ayudita..

Un saludo de vuestro amigo y vecino,
PETETE;)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar