Foros del Web » Programación para mayores de 30 ;) » .NET »

Leer XML en vb.net <key><string>

Estas en el tema de Leer XML en vb.net <key><string> en el foro de .NET en Foros del Web. Hola a todos. He visto varias formas de leer XML pero la estructura de los XML que he visto no es la misma del XML ...
  #1 (permalink)  
Antiguo 29/12/2011, 20:26
Avatar de after  
Fecha de Ingreso: junio-2006
Ubicación: De marte
Mensajes: 791
Antigüedad: 17 años, 11 meses
Puntos: 10
Leer XML en vb.net <key><string>

Hola a todos.

He visto varias formas de leer XML pero la estructura de los XML que he visto no es la misma del XML que necesito leer para la aplicación.
El XML es de la siguiente forma:

Código XML:
Ver original
  1. <key>3687885BCF7E7524</key>
  2.         <dict>
  3.             <key>Connected</key>
  4.             <date>2011-12-23T06:20:16Z</date>
  5.             <key>Family ID</key>
  6.             <integer>10003</integer>
  7.             <key>Firmware Version</key>
  8.             <integer>256</integer>
  9.             <key>Firmware Version String</key>
  10.             <string>1.0</string>
  11.             <key>ID</key>
  12.             <string>3687885BCF7E7524</string>
  13.             <key>Serial Number</key>
  14.             <string>2Z01075X75J</string>
  15.             <key>Updater Family ID</key>
  16.             <integer>10003</integer>
  17.             <key>Use Count</key>
  18.             <integer>28</integer>
  19.         </dict>

Conocen un ejemplo para leer ese tipo de xml el cual sería leído en una TextBox o un Label?
__________________
@ivancamiloGo
  #2 (permalink)  
Antiguo 30/12/2011, 02:29
Avatar de keriosp  
Fecha de Ingreso: noviembre-2011
Ubicación: iworld
Mensajes: 53
Antigüedad: 12 años, 5 meses
Puntos: 9
Respuesta: Leer XML en vb.net <key><string>

Una rutina tal como la siguiente debería servirte:

Imports System.Xml
Imports System.IO

Dim xmldoc As New XmlDataDocument()
Dim xmlnode As XmlNodeList
Dim i As Integer
Dim str As String
Dim fs As New FileStream("products.xml", FileMode.Open, FileAccess.Read)
xmldoc.Load(fs)
xmlnode = xmldoc.GetElementsByTagName("Product")
For i = 0 To xmlnode.Count - 1
xmlnode(i).ChildNodes.Item(0).InnerText.Trim()
str = xmlnode(i).ChildNodes.Item(0).InnerText.Trim() & " | " & xmlnode(i).ChildNodes.Item(1).InnerText.Trim() & " | " & xmlnode(i).ChildNodes.Item(2).InnerText.Trim()
MsgBox(str)
Next


Cita:
Iniciado por after Ver Mensaje
Hola a todos.

He visto varias formas de leer XML pero la estructura de los XML que he visto no es la misma del XML que necesito leer para la aplicación.
El XML es de la siguiente forma:

Código XML:
Ver original
  1. <key>3687885BCF7E7524</key>
  2.         <dict>
  3.             <key>Connected</key>
  4.             <date>2011-12-23T06:20:16Z</date>
  5.             <key>Family ID</key>
  6.             <integer>10003</integer>
  7.             <key>Firmware Version</key>
  8.             <integer>256</integer>
  9.             <key>Firmware Version String</key>
  10.             <string>1.0</string>
  11.             <key>ID</key>
  12.             <string>3687885BCF7E7524</string>
  13.             <key>Serial Number</key>
  14.             <string>2Z01075X75J</string>
  15.             <key>Updater Family ID</key>
  16.             <integer>10003</integer>
  17.             <key>Use Count</key>
  18.             <integer>28</integer>
  19.         </dict>

Conocen un ejemplo para leer ese tipo de xml el cual sería leído en una TextBox o un Label?
  #3 (permalink)  
Antiguo 30/12/2011, 17:57
Avatar de after  
Fecha de Ingreso: junio-2006
Ubicación: De marte
Mensajes: 791
Antigüedad: 17 años, 11 meses
Puntos: 10
Respuesta: Leer XML en vb.net <key><string>

Gracias por tu respuesta!
Lo he probado y funciona bien.
Pero al hacerlo arroja todos los datos de una vez.

Me gustaría saber, si solo quisiera mostrar el"<string>2Z01075X75J</string>" de <key>Serial Number</key> del primer <dict>
Qué cambios tendría que hacer?
__________________
@ivancamiloGo

Etiquetas: textbox, xml
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:11.