LINQ to XML - El ejemplo de C#


LINQ (Language INtegrated Query) es un conjunto de clases que como su
nombre lo dice, te permiten hacer consultas a nivel nativo (dentro de
C# y VB.NET) a datos que pueden provenir de un arreglo, de una base de
datos relacional, declases enumerables o como lo veremos en este
pequeño ejemplo de XML. :D


Supongamos que tenemos el siguiente XML en una cadena llamada xmlString:

<root>
<var>
<tag>atributo1</tag>
</var>
<var>
<tag>atributo2</tag>
</var>
</root>

Para leer todos las varibles simplemente hacemos una consulta con LINQ en un stilo muy similar a como la realizariamos en SQL:

XDocument data = XDocument.Parse(xmlSring);

var elements = from c in data.Descendants()
select c;

foreach (var c in data.Descendants("var"))
Console.WriteLine(c.Element("tag").Value);

Este código mostrara en lineas separas todos los elementos "var".

Ahora, supongamos que queremos agregar mas elementos "var", lo único que debemos hacer es:

XElement newKey =
new XElement("var",
new XElement("tag", "Value")
);

data.Root.Add(newKey);
data.Save(_file);

Y listo ;)

Para mi gusto LINQ te permite ahorrar muchisimo tiempo, y además es muy amigable, particularme a la hora de manejar XML ya que antes era un tanto enredoso hacer consultas.

0 comentarios:

Publicar un comentario

About Me

Mi foto
carlos
Guadalajara, Jalisco, Mexico
Ver mi perfil completo

Twitter

Carlos Rivera's Facebook profile