ID | Asunto | Fecha | Nick | |
57593 | Lectura de nodo anidado | 09/05/14 06:06 | Manuel_74 | | |
Hola, a todos.. podrían ayudarme?? estoy atascado en la lectura de un array y no sé porque me lee, solo el primer elemento. Miren, tengo esta clase. <Serializable()> _
Public Class User
Public Nombre As String
Public Apellido As String
Public vehiculo() As Vehiculos
Public Mail As String
End Class
<Serializable()> _
Public Class Vehiculos
Public Marca As String
Public color As String
Public Puertas() As NumPuertas
End Class
<Serializable()> _
Public Class NumPuertas
Public Numero As Integer
End Class Si serializamos y mostramos en formato Xml, tendremos este Xml: <Nombre>JUAN</Nombre>
<Apellido>LOPEZ</Apellido>
<Vehiculo>
<Vehiculos>
<Marca>BMW</Marca>
<Color>GRIS</Color>
<Puertas>
<NumPuertas>
<Numero>5</Numero>
<Numero>4</Numero>
<Numero>3</Numero>
</NumPuertas>
</Puertas>
</Vehiculos>
</Vehiculo> Bien, tengo este trozo de código para realizar la lectura del nodo , hago lo siguiente:
Dim Request As Petic_Xml
For Each l In Request.Vehiculos
M = l.Marca
C= l.Color
For Each Ex In l.Puertas
builder_cadena_Puertas.Append(Ex.Numero.toString)
builder_cadena_Puertas.Append(“-“)
Next
Next Bien, supuestamente Builder_Cadena_Puertas debería de quedar asi: 5-4-3 Pero lo que me ocurre es que a la hora de realizar la lectura, solo lee el primer dato o sea el 5, y se sale del bucle.
Alguien sabría decirme, porque ocurre esto?? Mil gracias desde ya.
[Editado: Manuel_74, 12/05/2014 05:25:56] [Manuel_74, 12/05/2014 05:27:22] |
|
ID | Asunto | Fecha | Nick | |
57597 | Re: Lectura de nodo anidado (Resp: 57593) | 13/05/14 05:55 | Manuel_74 | | |
Hola a todos, disculpad, pero me falto añadir las etiquetas " " para que el texto sea legible.. mil perdones. Saludos.
Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias. |
|
ID | Asunto | Fecha | Nick | |
57598 | Re: Lectura de nodo anidado (Resp: 57593) | 13/05/14 11:41 | Pipe[hgjfkdls] | | |
Manuel,
La verdad no veo nada raro en el bucle, debería leer todas las puertas sin problemas, si no lo hace seguramente el problema este en la objeto heredado de IEnumerable para que la sentencia For Each funcione correctamente...
Busca el error en la clase o método que haga la lectura de las puertas.
Saludos,
Pipe [hgjfkdls]
Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias. |
|
ID | Asunto | Fecha | Nick | |
57599 | Re: Lectura de nodo anidado (Resp: 57598) | 13/05/14 12:19 | Manuel_74 | | |
Hola Pipe, Gracias por contestar.. el tema es que tal cual muestro la clase y la leo es lo que tengo, no tengo ningún método a parte que lea, simplemente es ese trocito de código.. donde radicaria el problema.. ni idea.. es muy simple, pero no se que mirar.. Mil gracias de nuevo por esta ahí..
Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias. |
|
ID | Asunto | Fecha | Nick | |
57600 | Re: Lectura de nodo anidado (Resp: 57593) | 13/05/14 12:49 | Manuel_74 | | |
Hola de nuevo, ya he dado con la solución, la pongo por si a alguien le ocurre lo mismo... He puesto el nodo como atributo, tal que así: <Serializable()> _
Public Class NumPuertas
<XmlAttribute()> _
Public Numero As Integer
End Class Gracias por todo.
Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias. |
|
ID | Asunto | Fecha | Nick | |
57601 | Re: Lectura de nodo anidado (Resp: 57600) | 13/05/14 17:31 | Pipe[hgjfkdls] | | |
Manuel, Fijate en lo siguiente: <Nombre>JUAN</Nombre>
<Apellido>LOPEZ</Apellido>
<Vehiculo>
<Vehiculos>
<Marca>BMW</Marca>
<Color>GRIS</Color>
<Puertas>
<NumPuertas>
<Numero>5</Numero>
<Numero>4</Numero>
<Numero>3</Numero>
</NumPuertas>
</Puertas>
</Vehiculos>
</Vehiculo> Si pones atención, el Vehiculo tiene Puertas y las Puertas tienen Numero lo cual no esta expresado en tu XML lo correcto deberia ser: <Nombre>JUAN</Nombre>
<Apellido>LOPEZ</Apellido>
<Vehiculo>
<Vehiculos>
<Marca>BMW</Marca>
<Color>GRIS</Color>
<Puertas>
<Puerta>
<Numero>5</Numero>
</Puertas>
<Puerta>
<Numero>4</Numero>
</Puertas>
<Puerta>
<Numero>3</Numero>
</Puertas>
</Puertas>
</Vehiculos>
</Vehiculo> Que quiero decir...en el xml original Las Puertas contiene un Nodo NumPuertas el cual contiene nodos Numeno, mientras que en tu clase NumPuertas solo existe un campo (!Array) Numero. En PSEUDO codigo seria mas menos asi: > CLASE VEHICULO
> PUERTAS
> CLASE PUERTAS
> LIST PUERTA
> CLASE PUERTA
> NUMERO Saludos, Pipe [hgjfkdls]
Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias. |
|
ID | Asunto | Fecha | Nick | |
57602 | Re: Lectura de nodo anidado (Resp: 57593) | 14/05/14 09:04 | Manuel_74 | | |
Efectivamente querido Pipe, tambien se resuelve de esta forma.. Muchas gracias por esta ahi.. saludos a todos.
Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias. |