Visual Basic.NET - Leer archivo xml

 
Vista:

Leer archivo xml

Publicado por Sin nombre (1 intervención) el 14/06/2011 23:15:13
Hola estoy creando un proyecto en vb.net (especificamente en vb 2008, lo que pretendo es hacer un formulario por ejemplo con textbox o listbox(por ejemplo), osea cuando la aplicacion inicie en form_load los textbox tengan el contenido que e guardado en el xml, osea cargar los datos hasta ahora esto e hecho:

1
2
3
4
5
6
7
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        timer1.enabled = True
 
'Aqui quisiera el codigo para cargar los datos
 
 
        TextBox1.Text = My.Computer.FileSystem.ReadAllText("FoSTeaM.xml")


Dim Doc As New XmlDocument, Nodo As XmlNode

Dim Lista As ArrayList = New ArrayList()

Lista.Add(TextBox1.Text)'agrego al archivo xml el texto de los textbox
Lista.Add(TextBox2.Text)
Lista.Add(TextBox3.Text)
Nodo = Doc.CreateElement("Equipo")

Doc.AppendChild(Nodo)

For Each Elemento As String In Lista
Nodo = Doc.CreateElement("Miembro")
Nodo.InnerText = Elemento
Doc.DocumentElement.AppendChild(Nodo)
Next

Doc.Save(Application.StartupPath & "\textoprueba.xml")[/code]

Aqui creo el archivo xml, eso no es problema, pero no se como cargarlos en el form_load, ojala alguien sepa como darme una mano.

saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Leer archivo xml

Publicado por P. J. (706 intervenciones) el 22/06/2011 23:57:23
Que curioso, yo estoy desarrollando una aplicacion parecida, sobre XML, aqui te dejo como procedo a leer los datos, en mi creo previamente el archivo XML, esta es la estructura:

<Controls>
<formulario name="form" width="794" height="605" />
<fuente name="Courier New" size="8" />
<control name="chkNomCliente" X="110" Y="223" value="True" />
<control name="chkDireccion" X="107" Y="254" value="True" />
<control name="chkTotal" X="702" Y="565" value="True" />
</Controls>

Private Sub leerXML()
Dim xmlDoc As XmlDocument
Dim xmlNode As XmlNodeList
Dim xmlSingleNode As XmlNode

Try
xmlDoc = New XmlDocument()
xmlDoc.Load(Application.StartupPath & "\xmlControl.xml")

' PARA LEER UN SOLO NODO, LEERLO DE MANERA DIRECTA
xmlSingleNode = xmlDoc.SelectSingleNode("/Controls/formulario")
With xmlSingleNode.Attributes
Me.Width = .GetNamedItem("width").Value
Me.Height = .GetNamedItem("height").Value
End With

' PARA LEER UN CONJUNTO DE NODOS, FORMA RECURSIVA
xmlNode = xmlDoc.SelectNodes("/Controls/control")
For Each oNode As XmlNode In xmlNode
For Each oControl As Control In Me.Controls
If Not TypeOf oControl Is Button Then
With oNode.Attributes
If oControl.Name = .GetNamedItem("name").Value Then
oControl.Left = .GetNamedItem("X").Value
oControl.Top = .GetNamedItem("Y").Value
oControl.Font = New Font(strNameFont, intSize)
End If
End With
End If
Next
Next
Catch ex As Exception
MessageBox.Show("Se produjo un error: " & vbCrLf & ex.Message, "leerXML", MessageBoxButtons.OK, MessageBoxIcon.Information)
Finally
xmlDoc = Nothing
End Try
End Sub

Esta es una forma sencilla de leer el XML, esto va a cambiar dependiendo de la estructura del mismo. Puedes obvar los Ctype, en mi caso yo guardo las coordenadas de los controles y al cargar el programa se le asigna, adecualo a tu necesidad.

Saludos,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Leer archivo xml

Publicado por @FCC (6 intervenciones) el 02/10/2012 19:33:06
Hola veo el code para leer el XML, lo pruebo, pero una vez leido, como podria anadir este nodo <NuevoNodo> Info </NuevoNodo>

para que quede asi:

1
2
3
4
5
6
7
8
9
10
11
12
<Controls>
<formulario name="form" width="794" height="605" />
<fuente name="Courier New" size="8" />
<control name="chkNomCliente" X="110" Y="223" value="True" />
<control name="chkDireccion" X="107" Y="254" value="True" />
<control name="chkTotal" X="702" Y="565" value="True" />
<NuevoNodo>
<Dato1>Data</Dato1>
<Dato2>Data</Dato2>
<Dato2>Data</Dato3>
</NuevoNodo>
</Controls>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar