miércoles, 30 de junio de 2010

Cargar datos desde un archivo XML en VB.Net

miércoles, 30 de junio de 2010

Si tu eres uno de esos tipos que no quiere complicarse la vida tratando de almacenar en una Base de Datos cada parametro que se presentara derrepente para inicializar la aplicacion que le abrira las puertas de su sistema, pues he aqui una solución práctica en VB.net haciendo uso de un archivo de inicio en XML, quizas el termino te paresca extraño pero no es nada complicado si lo unico que deseas es solo inicializar valores en un formulario cualesquiera, y he aquí la solución:Tan solo bastará colocar el siguiente codigo en un archivo de texto y cambiar su extension original (.txt) por XML para que este se convierta como tal, o quizas has sido mas inquisitivo y te habras dado cuenta que existe una seccion en las versiones de VB.Net para crear este archivo: Menu Proyecto --> Agregar Nuevo Elemento...-->Datos--->Archivo XML



Codigo XML:
<empresas>
<empresa nombre="EMPRESA1" bd="BD_EMPRESA1" />
<empresa nombre="EMPRESA2" bd="BD_EMPRESA2" />
<empresa nombre="EMPRESA3" bd="BD_EMPRESA3" />
<empresa nombre="EMPRESA4" bd="BD_EMPRESA4" />
empresas>
Codigo VB.net:
Dim _dsdetalle As DataSet ' yo he decidido llenar los datos del xml en un data set en primera instancia ya que este me servira para enlazar o llenar los datos despues en un combo que por cierto eleji para mostrar la informacion contenida en el xml

Private Sub FRM_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim Xml As XmlDocument
Dim NodeList As XmlNodeList
Dim Node As XmlNode
Dim _DS As New DataSet
LlenarDS()
Try
Xml = New XmlDocument()
Xml.Load(Application.StartupPath & "\Inicio.xml") ' Ojo que este es la direccion de la carpeta donde se ejecuta el programa (software, aplicacion, sistema, etc ) prinicipal porque es ahi donde Inicio.xml yo le he guardado
NodeList = Xml.SelectNodes("/empresas/empresa")
For Each Node In NodeList
Dim rw As DataRow = _dsdetalle.Tables(0).NewRow
rw("razon_social") = Node.Attributes.GetNamedItem("nombre").Value
rw("bd") = Node.Attributes.GetNamedItem("bd").Value
_dsdetalle.Tables(0).Rows.Add(rw)
Next
CboEmpresa.DisplayMember = "razon_social"
CboEmpresa.ValueMember = "bd"
CboEmpresa.DataSource = _dsdetalle.Tables(0)
Catch ex As Exception
MsgBox(ex.GetType.ToString & vbNewLine & ex.Message.ToString)
Finally
Console.Read()
End Try
End Sub
'Damos forma a nuestro dataset en un subproceso aparte para que enlaze su contenido al combo
Private Sub LlenarDS()
_dsdetalle = New DataSet
_dsdetalle.Tables.Add(0)
With _dsdetalle.Tables(0).Columns
.Add("razon_social", System.Type.GetType("System.String"))
.Add("bd", System.Type.GetType("System.String"))
End With
End Sub


Post relacionados :

Buscar

 
Copyright © 2009 .Net Solucion