Partilhar via


Visão geral dos eixos do LINQ to XML

Após criar uma árvore XML ou carregar um documento XML em uma árvore XML, você poderá consultá-la para localizar elementos e atributos, e recuperar seus valores. Você recupera coleções através dos métodos de eixo, também denominados eixos. Alguns eixos são métodos nas classes XElement e XDocument que retornam coleções IEnumerable. Alguns eixos são métodos de extensão na classe Extensions. Os eixos implementados como métodos de extensão operam em coleções e retornam coleções.

Conforme descrito em Visão geral da classe XElement, um objeto XElement representa um único elemento de nó. O conteúdo de um elemento pode ser complexo (às vezes denominado conteúdo estruturado) ou pode ser um elemento simples. Um elemento simples pode ser vazio ou conter um valor. Se o nó contiver o conteúdo estruturado, você poderá usar os vários métodos de eixo para recuperar enumerações de elementos descendentes. Os métodos de eixo mais usados do eixo são Elements e Descendants.

Além dos métodos de eixo, que retornam coleções, há mais dois métodos que você geralmente usa nas consultas do LINQ to XML. O método Element retorna um XElement único. O método Attribute retorna um XAttribute único.

Em várias circunstâncias, as consultas do LINQ fornecem a maneira mais eficiente de examinar uma árvore, extrair dados dela e transformá-la. As consultas do LINQ operam em objetos que implementam o IEnumerable, e os eixos do LINQ to XML retornam o IEnumerable das coleções Xelement e o IEnumerable das coleções XAttribute. Você precisa dessas coleções para executar suas consultas.

Além dos métodos de eixo que recuperam coleções de elementos e atributos, há métodos de eixo que permitem a você iterar na árvore detalhadamente. Por exemplo, em vez de tratar elementos e atributos, você pode trabalhar com os nós da árvore. Os nós são um nível mais refinado de granularidade do que os elementos e os atributos. Ao trabalhar com os nós, você pode examinar comentários XML, nós de texto, instruções de processamento e muito mais. Essa funcionalidade é importante, por exemplo, para alguém que estiver escrevendo em um processador de texto e deseja salvar documentos como XML. No entanto, a maioria dos programadores XML se preocupam basicamente com os elementos, os atributos e seus valores.

Métodos para recuperar uma coleção de elementos

Este é um resumo dos métodos da classe XElement (ou de suas classes base) que você chama em um XElement para retornar uma coleção de elementos.

Método

Descrição

XNode.Ancestors

Retorna um IEnumerable do XElement dos ancestrais desse elemento. Uma sobrecarga retorna um IEnumerable do XElement dos ancestrais que têm o XName especificado.

XContainer.Descendants

Retorna um IEnumerable do XElement dos descendentes desse elemento. Uma sobrecarga retorna um IEnumerable do XElement dos descendentes que têm o XName especificado.

XContainer.Elements

Retorna um IEnumerable do XElement dos elementos filho desse elemento. Uma sobrecarga retorna um IEnumerable do XElement dos elementos filho que têm o XName especificado.

XNode.ElementsAfterSelf

Retorna um IEnumerable do XElement dos elementos que vêm após esse elemento. Uma sobrecarga retorna um IEnumerable do XElement dos elementos após esse elemento que têm o XName especificado.

XNode.ElementsBeforeSelf

Retorna um IEnumerable do XElement dos elementos que vêm antes desse elemento. Uma sobrecarga retorna um IEnumerable do XElement dos elementos antes desse elemento que têm o XName especificado.

XElement.AncestorsAndSelf

Retorna um IEnumerable do XElement dos elementos e seus ancestrais. Uma sobrecarga retorna um IEnumerable do XElement dos elementos que têm o XName especificado.

XElement.DescendantsAndSelf

Retorna um IEnumerable do XElement desse elemento e seus descendentes. Uma sobrecarga retorna um IEnumerable do XElement dos elementos que têm o XName especificado.

Método para recuperar um único elemento

O método a seguir recupera um único filho de um objeto XElement.

Método

Descrição

XContainer.Element

Retorna o primeiro objeto filho XElement que tem o XName especificado.

Método para recuperar uma coleção de atributos

O método a seguir recupera atributos de um objeto XElement.

Método

Descrição

XElement.Attributes

Retorna um IEnumerable do XAttribute de todos os atributos.

Método para recuperar um único atributo

O método a seguir recupera um único atributo de um objeto XElement.

Método

Descrição

XElement.Attribute

Retorna o XAttribute que tem o XName especificado.

Consulte também

Conceitos

Eixos LINQ to XML