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[]
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[]
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[]
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[]
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[]
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[]
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