22 de enero de 2010

LINQ to XML en 10 minutos

Resumen sobre las principales características de Linq to XML con C#. Veremos las cosas mas importantes y que deben conocerse para trabajar con LINQ to XML.

En este y próximos artículos trataremos los siguientes temas relacionados con LINQ to XML:

  1. ¿Que es LINQ to XML?
  2. Clases Principales de LINQ to XML.
  3. Como crear documentos XML con LINQ.
  4. Como leer documentos XML con LINQ.
  5. Como modificar documentos XML con LINQ.
  6. Como trabajar con espacios de nombres (namespace).
  7. Validar documentos XML con LINQ.
  8. Serializar y Deserializar Objectos.

 

¿Que es LINQ to XML?

LINQ to XML no es otra cosa que el uso de LINQ (Lenguaje Integrado de Consultas) sobre documentos o elementos XML. Esta tecnología nos permite a través de nuevos objetos, manipular los XML en memoria.

O sea, a través de las nuevas clases incluidas en el espacio de nombre System.Xml.Linq podremos llevar a objetos en memoria los documentos XML, los que podremos manipular usando LINQ.

 

Clases Principales de LINQ to XML

LINQ to XML nos proporciona una serie de clases que veremos a continuación con las que podremos realizar consultas. Estas clases, en su mayoría coinciden con las que anteriormente ya teníamos en el espacio de nombre System.Xml, solo que estas nuevas están en el espacio de nombre System.Xml.Linq y mientras las anteriores comenzaban con el sufijo Xml, las recientes comienzan con X, por ejemplo, XmlElement y XElement ambas representan un elemento XML; pero veamos las nuevas clases, o al menos las mas importantes según mi criterio:

  • XDocument: Representa un documento XML.
  • XElement: Representa un elemento XML que a su ves puede contener otros elementos y/o atributos.
  • XAttribute: Representa un atributo perteneciente a un elemento XML.
  • XNamespace: Representa un espacio de nombres XML. No se puede heredar esta clase.

 

Nota: LINQ to XML está disponible a partir del .NET Framework 3.5.

Artículos Relacionados:

4 comentarios:

  1. quedó bastante vaga la introducción:
    ej: XLittle: representa que la explicacione es pequeña

    ResponderEliminar
  2. Esto está excelente. Me encanta LINQ.
    Te agradezco muchísimo por compartir tus conocimientos, me has despertado el interés por 1000. :D

    ResponderEliminar
  3. He leído los diversos contenidos de este articulo y se me hace muy claros y simples como introducción a LINQ, felicidades.

    ResponderEliminar
  4. Hola!!

    Estoy haciendo una aplicación web para gestionar archivos xml. La aplicación la estoy haciendo en Code First , DbContext y Entity Framework.

    Estoy recibiendo unso datos en archivos xml y los tengo que pasar a una base de datos cuyas entidades fueron creadas con Code First, pero no se como empezar. También tengo el schema, que supongo lo tengo que usar para validar el xml.

    A ver si me puedes orientar un poco.

    Gracias.

    ResponderEliminar