Mas soluciones

Buscar en nuestro blog o en Google

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