Partilhar via


Visão geral dos eixos LINQ to XML

Depois de criar uma árvore XML ou carregar um documento XML em uma árvore XML, você pode consultá-la para localizar elementos e atributos e recuperar seus valores. Você recupera coleções por meio dos métodos axis, também chamados de axis. Alguns dos eixos são métodos nas XElement classes e XDocument que retornam IEnumerable<T> coleções. Alguns dos eixos são métodos de extensão na Extensions classe. Os eixos que são implementados como métodos de extensão operam em cobranças e cobranças de retorno.

Conforme descrito na visão geral da classe XElement, um XElement objeto representa um único nó de elemento. O conteúdo de um elemento pode ser complexo (às vezes chamado de conteúdo estruturado), ou pode ser um elemento simples. Um elemento simples pode estar vazio ou pode conter um valor. Se o nó contiver 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 comumente usados são Elements e Descendants.

Além dos métodos axis, que retornam coleções, há mais dois métodos que você normalmente usará em consultas LINQ to XML. O Element método retorna um único XElementarquivo . O Attribute método retorna um único XAttributearquivo .

Para muitos fins, as consultas LINQ fornecem a maneira mais poderosa de examinar uma árvore, extrair dados dela e transformá-la. As consultas LINQ operam em objetos que implementam IEnumerable<T>o , e os eixos LINQ to XML retornam IEnumerable<T> de XElement coleções e IEnumerable<T> de XAttribute coleções. Você precisa dessas coleções para fazer suas consultas.

Além dos métodos de eixo que recuperam coleções de elementos e atributos, há métodos de eixo que permitem iterar através da árvore em grande detalhe. Por exemplo, em vez de lidar com elementos e atributos, você pode trabalhar com os nós da árvore. Os nós são um nível mais fino de granularidade do que os elementos e atributos. Ao trabalhar com 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 está escrevendo um processador de texto e deseja salvar documentos como XML. No entanto, a maioria dos programadores XML está preocupada principalmente com elementos, atributos e seus valores.

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

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

Método Description
XNode.Ancestors Devolve um IEnumerable<T> dos XElement antepassados deste elemento. Uma sobrecarga retorna um IEnumerable<T> dos XElement antepassados que têm o especificado XName.
XContainer.Descendants Devolve um IEnumerable<T> dos XElement descendentes deste elemento. Uma sobrecarga retorna um IEnumerable<T> dos XElement descendentes que têm o .XName
XContainer.Elements Retorna um IEnumerable<T> dos XElement elementos filho desse elemento. Uma sobrecarga retorna um IEnumerable<T> dos XElement elementos filho que têm o especificado XName.
XNode.ElementsAfterSelf Retorna um IEnumerable<T> dos XElement elementos que vêm depois desse elemento. Uma sobrecarga retorna um IEnumerable<T> dos XElement elementos após esse elemento que têm o especificado XName.
XNode.ElementsBeforeSelf Retorna um IEnumerable<T> dos XElement elementos que vêm antes desse elemento. Uma sobrecarga retorna um IEnumerable<T> dos XElement elementos antes desse elemento que têm o especificado XName.
XElement.AncestorsAndSelf Devolve um IEnumerable<T> deste XElement elemento e dos seus antepassados. Uma sobrecarga retorna um IEnumerable<T> dos XElement elementos que têm o especificado XName.
XElement.DescendantsAndSelf Devolve um IEnumerable<T> deste XElement elemento e os seus descendentes. Uma sobrecarga retorna um IEnumerable<T> dos XElement elementos que têm o especificado XName.

Método para recuperar um único elemento

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

Método Description
XContainer.Element Retorna o primeiro objeto filho XElement que tem o especificado XName.

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

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

Método Description
XElement.Attributes Retorna um IEnumerable<T> de XAttribute todos os atributos.

Método para recuperar um único atributo

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

Método Description
XElement.Attribute Retorna o XAttribute que tem o especificado XName.