Información general acerca de la clase XElement

La clase XElement es una de las clases fundamentales de LINQ to XML.Representa a un elemento XML.Puede utilizar esta clase para crear elementos; cambiar el contenido del elemento; agregar, modificar o eliminar elementos secundarios; agregar atributos a un elemento; o serializar el contenido de un elemento en forma de texto.También puede operar con otras clases de System.Xml, como son XmlReader, XmlWriter y XslCompiledTransform.

Funcionalidad de XElement

Este tema describe la funcionalidad que ofrece la clase XElement.

Construir árboles XML

Es posible construir árboles XML de diferentes formas, entre las que se incluyen las siguientes:

  • Puede construir un árbol XML mediante código.Para obtener más información, vea Crear árboles XML.

  • Puede analizar XML a partir de diferentes orígenes, incluyendo un TextReader, archivos de texto o direcciones web (URL).Para obtener más información, vea Analizar XML.

  • También puede utilizar un XmlReader para rellenar el árbol.Para obtener más información, vea ReadFrom.

  • Si dispone de un módulo que pueda escribir contenidos en un XmlWriter, puede utilizar el método CreateWriter para crear un sistema de escritura, para pasar éste al módulo y para utilizar después el contenido que se haya escrito en XmlWriter para rellenar el árbol XML.

No obstante, la forma más habitual de crear un árbol XML es la siguiente:

XElement contacts =
    new XElement("Contacts",
        new XElement("Contact",
            new XElement("Name", "Patrick Hines"), 
            new XElement("Phone", "206-555-0144"),
            new XElement("Address",
                new XElement("Street1", "123 Main St"),
                new XElement("City", "Mercer Island"),
                new XElement("State", "WA"),
                new XElement("Postal", "68042")
            )
        )
    );
Dim contacts As XElement = _
    <Contacts>
        <Contact>
            <Name>Patrick Hines</Name>
            <Phone>206-555-0144</Phone>
            <Address>
                <Street1>123 Main St</Street1>
                <City>Mercer Island</City>
                <State>WA</State>
                <Postal>68042</Postal>
            </Address>
        </Contact>
    </Contacts>

Otra técnica utilizada con frecuencia para crear un árbol XML implica el uso de los resultados de una consulta LINQ para rellenar el árbol XML, tal y como se muestra en el ejemplo siguiente:

XElement srcTree = new XElement("Root",
    new XElement("Element", 1),
    new XElement("Element", 2),
    new XElement("Element", 3),
    new XElement("Element", 4),
    new XElement("Element", 5)
);
XElement xmlTree = new XElement("Root",
    new XElement("Child", 1),
    new XElement("Child", 2),
    from el in srcTree.Elements()
    where (int)el > 2
    select el
);
Console.WriteLine(xmlTree);
Dim srcTree As XElement = _
    <Root>
        <Element>1</Element>
        <Element>2</Element>
        <Element>3</Element>
        <Element>4</Element>
        <Element>5</Element>
    </Root>
Dim xmlTree As XElement = _
    <Root>
        <Child>1</Child>
        <Child>2</Child>
        <%= From el In srcTree.Elements() _
            Where el.Value > 2 _
            Select el %>
    </Root>
Console.WriteLine(xmlTree)

Este ejemplo genera el siguiente resultado:

<Root>
  <Child>1</Child>
  <Child>2</Child>
  <Element>3</Element>
  <Element>4</Element>
  <Element>5</Element>
</Root>

Serializar árboles XML

Puede serializar un árbol XML en un File, un TextWriter o en un XmlWriter.

Para obtener más información, vea Serializar árboles XML.

Recuperar datos XML mediante los métodos de los ejes

Puede utilizar los métodos de los ejes para recuperar atributos, elementos secundarios, elementos descendientes y elementos antecesores.Las consultas LINQ utilizan los métodos de los ejes y proporcionan numerosos mecanismos, flexibles y potentes, para recorrer y procesar árboles XML.

Para obtener más información, vea Ejes LINQ to XML.

Consultar árboles XML

Puede escribir consultas LINQ que extraigan datos de un árbol XML.

Para obtener más información, vea Consultar árboles XML.

Modificar árboles XML

Puede modificar un elemento de diferentes maneras, incluyendo el cambiar su contenido o sus atributos.También puede eliminar un elemento dependiente de un elemento primario.

Para obtener más información, vea Modificar árboles XML (LINQ to XML).

Vea también

Conceptos

Información general acerca de la programación de LINQ to XML