Visual Basic .NET - Trabajar con archivos XML (XmlTextWriter)

Written by lopezatienza on 31 Mayo 2010 – 10:43 -

Hola a todos.

Voy a explicar un ejemplo sencillo para leer y escribir en un archivo xml desde vb.net

Primeramente creamos un archivo con extensión xml. En este ejemplo vamos a trabajar con un archivo que guarda la hora y minuto de 2 horas diferentes.

 

<?xml version="1.0" encoding="utf-8"?>
<Configuracion>
<name id="HoraPrimera">
<hora>5</hora>
<minuto>15</minuto>
</name>
<name id="HoraSegunda">
<hora>6</hora>
<minuto>30</minuto>
</name>
</Configuracion>

 

La función de lectura del archivo XML será:

 

Private Sub LeerArchivoXML(ByVal ruta As String)

Try

Dim xmlConfig As XmlDocument

Dim m_nodelist As XmlNodeList

Dim m_node As XmlNode

'Creamos el "XML Document"

xmlConfig = New XmlDocument()

'Cargamos el archivo

xmlConfig.Load(ruta)

'Obtenemos la lista de los nodos "id"

m_nodelist = xmlConfig.SelectNodes("/Configuracion/name")

Dim indice As Integer = 0

'Iniciamos el ciclo de lectura

For Each m_node In m_nodelist

'Obtenemos el atributo del codigo

Dim mCodigo As String = m_node.Attributes.GetNamedItem("id").Value

'Obtenemos el Elemento Hora

Dim mHora As Integer = m_node.ChildNodes.Item(0).InnerText

'Obtenemos el Elemento Minuto

Dim mMinuto As Integer = m_node.ChildNodes.Item(1).InnerText

If indice = 0 Then

MessageBox.Show("La primera hora es: " & mHora.ToString("00") & ":" & mMinuto.ToString("00"))

indice += 1

Else

MessageBox.Show("La segunda hora es: " & mHora.ToString("00") & ":" & mMinuto.ToString("00"))

End If

Next

Catch ex As Exception

End Try

End Sub

 

La función de escritura del archivo XML será:

 

Private Sub EscribirXML(ByVal ruta As String)

Try

Dim xmlConfig As XmlTextWriter = New XmlTextWriter(ruta, System.Text.Encoding.UTF8)

xmlConfig.Formatting = Formatting.Indented

xmlConfig.WriteStartDocument()

xmlConfig.WriteStartElement("Configuracion")

xmlConfig.WriteStartElement("name")

xmlConfig.WriteStartAttribute("id")

xmlConfig.WriteString("HoraPrimera")

xmlConfig.WriteElementString("hora", "15")

xmlConfig.WriteElementString("minuto", "10")

xmlConfig.WriteEndElement()

xmlConfig.WriteStartElement("name")

xmlConfig.WriteStartAttribute("id")

xmlConfig.WriteString("HoraSegunda")

xmlConfig.WriteElementString("hora", "23")

xmlConfig.WriteElementString("minuto", "59")

xmlConfig.WriteEndElement()

xmlConfig.WriteEndElement()

xmlConfig.Close()

Catch ex As Exception

End Try

End Sub

 

Namespaces

 

Imports System.Xml

 

Espero os sirva de ayuda.

Un saludo.


Tags:
Posted in Visual Basic .NET |

One Comment to “Visual Basic .NET - Trabajar con archivos XML (XmlTextWriter)”

  1. Daniel Says:

    ¡Perfectamente claro!. Muchas gracias.

Leave a Comment

RSS