Partilhar via


Usuários de LINQ to XML para XPath

This set of topics show a number of XPath expressions and their LINQ to XML equivalents. 

Todos os exemplos usam a funcionalidade XPath no LINQ to XML disponibilizada pelos métodos de extensão em Extensions. Os exemplos executam a expressão XPath e a expressão LINQ to XML. Cada exemplo compara os resultados das duas consultas, validando se a expressão XPath é funcionalmente equivalente à consulta LINQ to XML. Como os dois tipos de consultas retornam nós da mesma árvore XML, a comparação do resultado da consulta é feita usando identidade referencial.

Nesta seção

Tópico

Descrição

Comparação de XPath e de LINQ para XML

Apresenta uma visão geral das semelhanças e das diferenças entre XPath e LINQ to XML.

Como localizar um elemento filho (XPath-LINQ to XML)

Compares the XPath child element axis to the LINQ to XML Element method. 

A expressão XPath associada é:"DeliveryNotes".

Como localizar uma lista dos elementos filho (XPath-LINQ to XML)

Compara o eixo de elementos filho XPath com o eixo LINQ to XML Elements.

A expressão XPath associada é:"./*"

Como: Localize o elemento raiz (o XPath - LINQ a XML)

Compara como obter o elemento raiz com XPath e LINQ to XML.

A expressão XPath associada é:"/PurchaseOrders"

Como: Localizar os elementos do descendente do XPath (- LINQ a XML)

Compara como obter os elementos descendentes com um nome específico com XPath e LINQ to XML.

A expressão XPath associada é:"//Name"

Como: Filtrar em um atributo (o XPath-LINQ a XML)

Compara como obter os elementos descendentes com um nome especificado e com um atributo com um valor especificado com XPath e LINQ to XML.

A expressão XPath associada é:".//Address[@Type='Shipping']"

Como: Elementos relacionados ao localizar XPath (- LINQ a XML)

Compara como obter um elemento selecionando em um atributo que é referenciado pelo valor de outro elemento com XPath e LINQ to XML.

A expressão XPath associada é:".//Customer[@CustomerID=/Root/Orders/Order[12]/CustomerID]"

Como: Elementos de localização em um namespace XPath (- LINQ a XML)

Compara o uso da classe XPath XmlNamespaceManager com a propriedade LINQ to XML Namespace da classe XName para trabalhar com namespaces XML.

A expressão XPath associada é:"./aw:*"

Como: Localizar os irmãos acima o XPath (- LINQ a XML)

Compares the XPath preceding-sibling axis to the LINQ to XML child XNode.ElementsBeforeSelf axis. 

A expressão XPath associada é:"preceding-sibling::*"

Como: Descendentes de localização de um elemento filho XPath (- LINQ a XML)

Compara como obter os elementos descendentes de um elemento filho com um nome específico com XPath e LINQ to XML.

A expressão XPath associada é:"./Paragraph//Text/text()"

Como: Localizar uma união de dois caminhos de local (o XPath - LINQ a XML)

Compara o uso de operador de união, |, em XPath, com o operador padrão de consulta Concat``1 em LINQ to XML.

A expressão XPath associada é:"//Category|//Price"

Como: Irmãos de localização XPath (- LINQ a XML)

Compara como localizar todos os irmãos de um nó que têm um nome específico com XPath e LINQ to XML.

A expressão XPath associada é:"../Book"

Como: Localizar um atributo pai do XPath (- LINQ a XML)

Compara como navegar para o elemento pai e localizar um atributo associado usando XPath e LINQ to XML.

A expressão XPath associada é:"../@id"

Como: Atributos de localização dos irmãos com um nome específico XPath (- LINQ a XML)

Compara como localizar atributos específicos dos irmãos do nó de contexto com XPath e LINQ to XML.

A expressão XPath associada é:"../Book/@id"

Como localizar elementos com um atributo específico (XPath-LINQ para XML)

Compara como localizar todos os elementos que contêm um atributo específico usando XPath e LINQ to XML.

A expressão XPath associada é:"./*[@Select]"

Como: Os elementos filho com base de localizar a posição permitidas do XPath (- LINQ a XML)

Compara como localizar um elemento com base em sua posição relativa usando XPath e LINQ to XML.

A expressão XPath associada é:"Test[position() >= 2 and position() <= 4]"

Como: Localize o irmão anterior imediato (o XPath - LINQ a XML)

Compara como localizar o irmão imediatamente precedente de um nó usando XPath e LINQ to XML.

A expressão XPath associada é:"preceding-sibling::*[1]"

Consulte também

Referência

System.Xml.XPath

Conceitos

Consultando árvores XML

Processar dados XML usando o modelo de dados XPath