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: Visual Basic
Posted in Visual Basic .NET |

Agosto 1st, 2010 at 22:10
¡Perfectamente claro!. Muchas gracias.