sintaxe XPath
XPath usa expressões de caminho para selecionar nós em um documento XML ou conjunto de nós. Pelo nó ao longo do caminho (path) ou passo (degraus) até a selecionada.
documentos de instância XML
Usaremos este documento XML nos exemplos abaixo.
<bookstore>
<book>
<title lang="eng">Harry Potter</title>
<price>29.99</price>
</book>
<book>
<title lang="eng">Learning XML</title>
<price>39.95</price>
</book>
</bookstore>
Escolha um nó
XPath usa expressões de caminho para selecionar nós em um documento XML. Ou ao longo de um caminho através do nó para selecionar o passo. Abaixo estão listadas as expressões de caminho mais úteis:
expressão | descrição |
---|---|
nodename | Selecione todos os nós filho deste nó. |
/ | Selecione a partir do nó raiz. |
// | Selecione o documento a partir do nó de correspondência selecionado nó, independentemente da sua localização. |
. | Selecione o nó atual. |
.. | Selecione o pai do nó atual. |
@ | Selecione Propriedades. |
Na tabela abaixo, listamos algumas das expressões de caminho e o resultado da expressão:
expressão de caminho | resultado |
---|---|
livraria | Selecione todos os nós filho do elemento livraria. |
/ Bookstore | Selecione o elemento raiz livraria. Nota: Se o caminho começa com uma barra (/), o caminho é sempre representante do caminho absoluto para um elemento! |
livraria / livro | Selecione os sub-elementos pertencentes à livraria todos os elementos do livro. |
// Livro | Selecione todos os sub-elementos do livro, independentemente da sua posição no documento. |
livraria // livro | Seleciona todos os elementos do livro que pertencem aos descendentes do elemento livraria, independentemente da posição em que estão e sob a livraria. |
// @ Lang | Selecione todas as propriedades nomeadas lang. |
Predicado (predicados)
Predicado é usado para localizar um nó específico ou um nó que contém o valor especificado.
Predicado é incorporado em colchetes.
Na tabela abaixo, listamos algumas expressões de caminho com predicados e o resultado da expressão:
expressão de caminho | resultado |
---|---|
/ Livraria / livro [1] | Selecione os sub-elementos pertencentes livraria primeiro elemento livro. |
/ Livraria / livro [last ()] | Selecione os sub-elementos pertencentes livraria elemento último livro. |
/ Livraria / livro [last () - 1] | Selecione os sub-elementos pertencentes à livraria recíproca elemento segundo livro. |
/ Livraria / livro [position () <3] | Selecione os dois primeiros elementos do livro do elemento livraria pertencente à sub-elementos. |
// Título [@ lang] | Selecionar tudo atributo chamado lang tem um elemento de título. |
// Título [@ lang = 'eng'] | Selecione todos os elementos do título, e estes elementos têm valor eng atributo lang. |
/bookstore/book[price>35.00] | Selecione todos os elementos do livro do elemento livraria, e o valor do elemento preço que deve ser superior a 35,00. |
/bookstore/book[price>35.00]/title | Selecione todos os elementos do título dos elementos livro do elemento livraria, e em que o valor do elemento preço deverá ser superior a 35,00. |
Selecione nós desconhecidos
wildcards XPath pode ser usado para selecionar elementos XML desconhecidos.
Wildcard | descrição |
---|---|
* | Corresponde a qualquer nó de elemento. |
@ * | Corresponde a qualquer nó de atributo. |
node () | Corresponde a qualquer tipo de nó. |
Na tabela abaixo, listamos algumas expressões de caminho, assim como os resultados dessas expressões:
expressão de caminho | resultado |
---|---|
/ Livraria / * | Selecione o elemento livraria de todos os elementos filho. |
// * | Selecione todos os elementos no documento. |
// Título [@ *] | Selecione todos os elementos com atributo de título. |
Selecione vários caminhos
Usando a expressão de caminho "|" operador, você pode selecionar vários caminhos.
Na tabela abaixo, listamos algumas expressões de caminho, assim como os resultados dessas expressões:
expressão de caminho | resultado |
---|---|
// Livro / title | // book / preço | Selecione o título do livro e elementos price de todos os elementos. |
// Título | // Preço | Selecionar todos os documentos de título e de preços elementos. |
/ Livraria / livro / title | // Preço | Selecionar elementos livro elemento livraria pertencentes a todos os elementos de título e documentar todos os elementos de preço. |