Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Depois de 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 por meio dos métodos de eixo, também conhecidos como eixos. Alguns dos eixos são métodos nas classes XElement e XDocument que retornam coleções IEnumerable<T>. Alguns dos eixos são métodos de extensão na Extensions classe. 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 o nó de um único 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 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 são Elements e Descendants.
Além dos métodos de eixo, 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 XElement. O Attribute método retorna um único XAttribute.
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>, e os eixos do LINQ to XML retornam IEnumerable<T> das coleções XElement e IEnumerable<T> das coleções XAttribute. 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 a você iterar na árvore detalhadamente. Por exemplo, em vez de lidar com elementos e atributos, você pode trabalhar com os nós da árvore. Nodos são um nível mais fino de granularidade do que elementos e 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 está escrevendo um processador de palavras e deseja salvar documentos como XML. No entanto, a maioria dos programadores XML está principalmente preocupada com elementos, atributos e seus valores.
Métodos para recuperar uma coleção de elementos
A seguir, um resumo dos métodos da classe XElement (ou 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<T> do XElement dos ancestrais desse elemento. Uma sobrecarga retorna um IEnumerable<T> do XElement dos ancestrais que têm o XName especificado. |
| XContainer.Descendants | Retorna um IEnumerable<T> do XElement dos descendentes desse elemento. Uma sobrecarga retorna um IEnumerable<T> do XElement dos descendentes que têm o XName especificado. |
| XContainer.Elements | Retorna um IEnumerable<T> do XElement dos elementos filho desse elemento. Uma sobrecarga retorna um IEnumerable<T> do XElement dos elementos filho que têm o XName especificado. |
| XNode.ElementsAfterSelf | Retorna um IEnumerable<T> do XElement dos elementos que vêm após esse elemento. Uma sobrecarga retorna um IEnumerable<T> do XElement dos elementos após esse elemento que têm o XName especificado. |
| XNode.ElementsBeforeSelf | Retorna um IEnumerable<T> do XElement dos elementos que vêm antes desse elemento. Uma sobrecarga retorna um IEnumerable<T> do XElement dos elementos antes desse elemento que têm o XName especificado. |
| XElement.AncestorsAndSelf | Retorna um IEnumerable<T> do XElement dos elementos e seus ancestrais. Uma sobrecarga retorna um IEnumerable<T> do XElement dos elementos que têm o XName especificado. |
| XElement.DescendantsAndSelf | Retorna um IEnumerable<T> do XElement desse elemento e seus descendentes. Uma sobrecarga retorna um IEnumerable<T> 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 possui o XName especificado. |
Método para recuperar uma coleção de atributos
O método a seguir recupera atributos de um XElement objeto.
| Método | Descrição |
|---|---|
| XElement.Attributes | Retorna um IEnumerable<T> do XAttribute de 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 | Descrição |
|---|---|
| XElement.Attribute | Retorna o XAttribute que tem o XName especificado. |