FANDOM


Documento XML Editar

<?xml version="1.0" encoding="iso-8859-15"?>
<pelicula titulo="Brazil" estreno="1985" minutos="142">
  <direccion>
    <director nombre="Terry" apellidos="Gilliam"/>
  </direccion>
  <produccion>
    <productor nombre="Patrick" apellidos="Cassavetti"/>
    <productor nombre="Arnon" apellidos="Milchan"/>
  </produccion>
  <guion>
    <guionista nombre="Terry" apellidos="Gilliam"/>
    <guionista nombre="Tom" apellidos="Stoppard"/>
    <guionista nombre="Charles" apellidos="McKeown"/>
  </guion>
  <reparto>
    <interprete nombre="Jonathan" apellidos="Pryce"
      papel="protagonista">Jonathan Pryce</interprete>
    <interprete nombre="Robert" apellidos="De Niro"
      papel="protagonista">Robert De Niro</interprete>
    <interprete nombre="Kim" apellidos="Greist"
      papel="protagonista">Kim Greist</interprete>
    <interprete nombre="Michael" apellidos="Palin"
      papel="secundario">Michael Palin</interprete>
    <interprete nombre="Ian" apellidos="Holm"
      papel="secundario">Ian Holm</interprete>
    <interprete nombre="Bob" apellidos="Hoskins"
      papel="secundario">Bob Hoskins</interprete>
  </reparto>
</pelicula>

Apertura de documentos XML Editar

Option Explicit On

Imports System.Xml

Module Module1

  Sub Main()

    Dim xmlPelicula As New XmlDocument
    xmlPelicula.Load( _
      "C:\Users\Juan Diego\Documents\brazil.xml" _
    )

    Console.WriteLine(xmlPelicula.InnerXml)
    Console.WriteLine("Pulse Intro para continuar.")
    Console.ReadLine()

  End Sub

End Module

Acceso a componentes Editar

Option Explicit On

Imports System.Xml

Module Module1

  Sub Main()

    Dim xmlPelicula As New XmlDocument
    xmlPelicula.Load( _
      "C:\Users\Juan Diego\Documents\brazil.xml" _
    )

    Dim xmlInterpretes As XmlNodeList
    xmlInterpretes = xmlPelicula.SelectNodes( _
      "/pelicula/reparto/interprete" _
    )

    Dim xmlInterprete As XmlNode
    For Each xmlInterprete In xmlInterpretes
      Console.WriteLine(xmlInterprete.InnerXml)
    Next

    Console.WriteLine("Pulse Intro para continuar.")
    Console.ReadLine()

  End Sub

End Module

Acceso a atributos Editar

Option Explicit On

Imports System.Xml

Module Module1

  Sub Main()

    Dim xmlPelicula As New XmlDocument
    xmlPelicula.Load( _
      "C:\Users\Juan Diego\Documents\brazil.xml" _
    )

    Dim xmlInterpretes As XmlNodeList
    xmlInterpretes = xmlPelicula.SelectNodes( _
      "/pelicula/reparto/interprete" _
    )

    Dim xmlInterprete As XmlNode
    For Each xmlInterprete In xmlInterpretes
      Console.WriteLine(xmlInterprete.InnerXml)

      Dim xmlAtributo As XmlAttribute
      For Each xmlAtributo In xmlInterprete.Attributes
        Console.WriteLine( _
          "  " & _
          xmlAtributo.Name & ": " & _
          xmlAtributo.Value _
        )
      Next
    Next

    Console.WriteLine("Pulse Intro para continuar.")
    Console.ReadLine()

  End Sub

End Module

Acceso a nodos descendientes Editar

Option Explicit On

Imports System.Xml

Module Module1

  Sub Main()

    Dim xmlPelicula As New XmlDocument
    xmlPelicula.Load( _
      "C:\Users\Juan Diego\Documents\brazil.xml" _
    )

    RecorrerNodos(xmlPelicula.DocumentElement)

    Console.WriteLine()
    Console.WriteLine("Pulse Intro para continuar.")
    Console.ReadLine()

  End Sub

  Private Sub RecorrerNodos( _
    ByVal Nodo As XmlNode, _
    Optional ByVal Nivel As Byte = 0 _
  )

    Dim i As Byte
    For i = 1 To Nivel
      Console.Write("  ")
    Next
    Console.WriteLine(Nodo.Name)
    Nivel += 1

    Dim nodoHijo As XmlNode
    For Each nodoHijo In Nodo.ChildNodes
      If nodoHijo.NodeType <> XmlNodeType.Text Then
        RecorrerNodos(nodoHijo, Nivel)
      End If
    Next

  End Sub

End Module

Acceso a nodos hermanos Editar

Option Explicit On

Imports System.Xml

Module Module1

  Sub Main()

    Dim xmlPelicula As New XmlDocument
    xmlPelicula.Load( _
      "C:\Users\Juan Diego\Documents\brazil.xml" _
    )

    Dim nodoInterprete As XmlNode
    nodoInterprete = xmlPelicula.SelectSingleNode( _
      "/pelicula/reparto/interprete" _
    )

    Dim nodoHermano As XmlNode
    nodoHermano = nodoInterprete.NextSibling

    Do While Not IsNothing(nodoHermano)
      Console.WriteLine(nodoHermano.InnerXml)
      nodoHermano = nodoHermano.NextSibling
    Loop

    Console.WriteLine()
    Console.WriteLine("Pulse Intro para continuar.")
    Console.ReadLine()

  End Sub

End Module

Realizar cambios Editar

Option Explicit On

Imports System.Xml

Module Module1

  Sub Main()

    Dim xmlPelicula As New XmlDocument
    xmlPelicula.Load( _
      "C:\Users\Juan Diego\Documents\brazil.xml" _
    )

    Dim nodoInterprete As XmlNode
    nodoInterprete = xmlPelicula.SelectSingleNode( _
      "/pelicula/reparto/interprete" _
    )

    Dim nodoHermano As XmlNode
    nodoHermano = nodoInterprete

    Do While Not IsNothing(nodoHermano)
      Console.WriteLine(nodoHermano.InnerXml)
      nodoHermano.InnerXml = ""
      nodoHermano = nodoHermano.NextSibling
    Loop

    Console.WriteLine(xmlPelicula.InnerXml)
    Console.WriteLine()
    Console.WriteLine("Pulse Intro para continuar.")
    Console.ReadLine()

    xmlPelicula.Save( _
      "C:\Users\Juan Diego\Documents\brazil2.xml" _
    )

  End Sub

End Module

Creación desde cero Editar

Option Explicit On

Imports System.Xml

Module Module1

  Sub Main()

    Dim xmlPelicula As New XmlDocument

    Dim xmlPrologo As XmlDeclaration
    xmlPrologo = xmlPelicula.CreateXmlDeclaration( _
      "1.0", Nothing, Nothing _
    )

    Dim nodoPelicula As XmlNode
    nodoPelicula = xmlPelicula.CreateNode( _
      XmlNodeType.Element, "pelicula", "" _
    )
    nodoPelicula.InnerText = "Brazil"

    Dim nodoDirector As XmlNode
    nodoDirector = xmlPelicula.CreateNode( _
      XmlNodeType.Element, "director", "" _
    )
    nodoDirector.InnerText = "Terry Gilliam"

    Dim nodoActores As XmlNode
    nodoActores = xmlPelicula.CreateNode( _
      XmlNodeType.Element, "actores", "" _
    )

    Dim nodoActor As XmlNode
    nodoActor = xmlPelicula.CreateNode( _
      XmlNodeType.Element, "actor", "" _
    )
    nodoActor.InnerText = "Jonathan Pryce"

    Dim atributoPapel As XmlAttribute
    atributoPapel = xmlPelicula.CreateAttribute("papel")
    atributoPapel.Value = "protagonista"

    nodoActor.Attributes.Append(atributoPapel)
    nodoActores.AppendChild(nodoActor)

    nodoPelicula.AppendChild(nodoDirector)
    nodoPelicula.AppendChild(nodoActores)

    xmlPelicula.AppendChild(xmlPrologo)
    xmlPelicula.AppendChild(nodoPelicula)

    xmlPelicula.Save("C:\Users\Juan Diego\Documents\brazil.xml")

  End Sub

End Module

¡Interferencia de bloqueo de anuncios detectada!


Wikia es un sitio libre de uso que hace dinero de la publicidad. Contamos con una experiencia modificada para los visitantes que utilizan el bloqueo de anuncios

Wikia no es accesible si se han hecho aún más modificaciones. Si se quita el bloqueador de anuncios personalizado, la página cargará como se esperaba.