Visão geral da classe XElement

A classe XElement é uma das classes fundamentais no LINQ to XML. Representa um elemento XML. A lista a seguir mostra o que você pode usar esta classe para:

  • Criar elementos.
  • Alterar o conteúdo do elemento.
  • Adicionar, alterar ou excluir elementos filho.
  • Adicionar atributos a um elemento.
  • Serializar o conteúdo de um elemento em forma de texto.

Você também pode interoperar com outras classes no System.Xml, como XmlReader, XmlWriter e XslCompiledTransform.

Este artigo descreve a funcionalidade fornecida pela classe XElement.

Construir árvores XML

Você pode construir árvores XML de diferentes maneiras, incluindo:

  • Você pode construir uma árvore XML em código. Para obter mais informações, consulte árvores XML.
  • Você pode analisar XML de várias fontes, incluindo TextReader, arquivos de texto ou um endereço Web (URL). Para obter mais informações, confira Analisar XML.
  • Você pode usar um XmlReader para popular a árvore. Para obter mais informações, consulte ReadFrom.
  • Se você tiver um módulo que possa gravar conteúdo em um XmlWriter, poderá usar o método CreateWriter para criar um gravador, passar o gravador para o módulo e usar o conteúdo que está gravado no XmlWriter para popular a árvore XML.

O exemplo a seguir cria uma árvore. A versão do C# usa criações de elemento aninhado. Você pode usar a mesma técnica no Visual Basic, mas este exemplo usa literais do XML.

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>

Você também pode usar uma consulta LINQ to XML para popular uma árvore XML, conforme mostrado no exemplo a seguir:

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)

Esse exemplo gera a saída a seguir:

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

Serializar árvores XML

Você pode serializar a árvore XML para um File, um TextWriter ou um XmlWriter.

Para obter mais informações, consulte Serializar árvores XML.

Recuperar dados XML por meio de métodos de eixo

Você pode usar métodos de eixo para recuperar atributos, elementos filho, elementos descendentes e elementos ancestrais. As consultas LINQ to XML operam em métodos de eixo e fornecem várias maneiras flexíveis e avançadas de navegar por uma árvore XML e de processá-la.

Para obter mais informações, consulte Visão geral de Eixos LINQ to XML.

Consultar árvores XML

Você pode escrever consultas LINQ to XML que extraem dados de uma árvore XML.

Para obter mais informações, consulte Visão geral de consultas de árvores XML.

Modificar árvores XML

Você pode modificar um elemento de diferentes maneiras, incluindo alterar seu conteúdo ou atributos. Você também pode remover um elemento de seu pai.

Para obter mais informações, consulte Modificar árvores XML.

Confira também