LINQ, Visual Basic 2008 y XML
LINQ to XML (L2XML)
Continúo escribiendo ejemplos de breve introducción a LINQ, y en este caso le llega el turno a LINQ to XML.
Antes de comenzar, hago un recordatorio de algunos de los enlaces de interés que he publicado sobre LINQ:
Una vez hecho esto, comenzaremos ya con este ejemplo.
Lo que vamos a hacer, es trabajar a partir de un documento XML que vamos a cargar en memoria para trabajar con sus datos.
En sí es un ejemplo muy sencillo que nos abrirá la puerta de trabajo con LINQ to XML.
En primer lugar, contaremos con un documento XML al que he llamado Documento.xml y que contendrá la siguiente información:
|
<?xml version="1.0"?> <datosGenerales> <datosPersona> <nombre>Fernando</nombre> <edad>18</edad> </datosPersona> <datosPersona> <nombre>Rosa</nombre> <edad>17</edad> </datosPersona> <datosPersona> <nombre>Carlos</nombre> <edad>21</edad> </datosPersona> </datosGenerales>
|
Partiendo de este documento XML, vamos a aprovechar la base de los ejemplos anteriores de LINQ puestos al principio de esta entrada, y vamos a insertar un control Button en el formulario Windows de ejemplo.
Finalmente, vamos a escribir el siguiente código de aplicación:
|
Public Class MainForm
Private Sub btnThirdTest_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnThirdTest.Click ' LINQ to XML ' Creamos una fuente de datos a partir de un documento xml Dim documento As XDocument = XDocument.Load("C:\Documento.xml") ' Declaramos una variable para obtener los datos del ' documento XML que cumplen la condiciSql programada Dim personasSeleccionadas = From seleccion In documento.Descendants("datosPersona") Where seleccion.Element("nombre").Value Like "??r*" Select seleccion.Element("nombre").Value ' Declaramos una variable para obtener el resultado Dim resultadoObtenido As String = "" ' Recorremos los resultados de la condición Sql For Each elemento In personasSeleccionadas resultadoObtenido &= elemento & vbCrLf Next ' Mostramos el resultado final MessageBox.Show(resultadoObtenido) End Sub
End Class
|
Este ejemplo en ejecución, dará como resultado los valores Fernando y Carlos del documento XML.
Como vemos aquí, trabajar con documentos XML, cargarlos y trabajar con LINQ y sus datos es una tarea muy sencilla.