Para leer el xml
Código:
Imports System.Xml
Imports Sistem.IO
Private Sub leerXML()
'Lector xml
Dim lector As XmlTextReader
'Documento xml
Dim Doc As XmlDocument = New XmlDocument
'Leer datos del xml
Try
'Se crea el lector
lector = New XmlTextReader(archivo.xml))
'Se descartan espacios blancos
lector.WhitespaceHandling = WhitespaceHandling.None
lector.Read() 'Se posiciona en la directiva xml <?xml version....>
lector.Read() ' Se posiciona en el primer elemento <Albumes>
lector.Read() ' Se posiciona en el elemento <Album>
'Leer atributos del elemento <Album>
Dim nombre As String = lector.GetAttribute("Nombre")
lector.Read() ' Se posiciona en el elemento <Imágenes>
lector.Read() ' Se posiciona en el elemento <NumImagen>
'Leer atributos del elemento <NumImagen>
Dim numImg As String = lector.GetAttribute("Numero")
lector.Read() ' Se posiciona en el elemento <Ruta>
'Aqui es diferente, ya que no se trata de un atributo
Dim ruta = lector.ReadElementString("Ruta")
lector.Read() ' Se posiciona en el elemento </Ruta>
lector.Read() ' Se posiciona en el elemento <Imagen>
'Aqui es diferente, ya que no se trata de un atributo
Dim imagen = lector.ReadElementString("Imagen")
lector.Read() ' Se posiciona en el elemento </Imagen>
lector.Read() ' Se posiciona en el elemento </Imágenes>
lector.Read() ' Se posiciona en el elemento </Album>
lector.Read() ' Se posiciona en el elemento </Albumes>
lector.close() ' Se cierra el lector
Catch ex As IO.IOException
MsgBox("Imposible leer xml")
End Try
End Sub
Asi es para leer el xml, ya tienes todos los atributos guardados en las
variables, ahora con vuelves a construir el otro xml añadiendole lo que
quieras, con el código anterior que postie.
Apoyate con lector.localName (devuelve un String y te dice en que nodo se encuentra el lector) por si me equivoque y no se esta leyendo ese nodo.
El código que te pase te devió de haber puesto todo seguido, lo unico
raro pero que no tiene nada que ver, es que en el atributo Nombre brinco una línea. Pero a mi parecer no importa.
si quieres pasame tu correo y te envió la solución que generé yo.
Escribe: xml al vuelo, y desde los datos de una BD, y las puede leer y lo que lee
lo muestra en un grid.....básico de ahi aprendi a realizar otras cosas..
saludos