Sintaxe XPath
- Página Anterior Nó XPath
- Próxima Página Eixos XPath
XPath usa expressões de caminho para selecionar nós ou conjuntos de nós em documentos XML. Os nós são selecionados seguindo o caminho (path) ou os passos (steps).
Documento de exemplo XML
Vamos usar este documento XML nos exemplos a seguir.
<?xml version="1.0" encoding="ISO-8859-1"?> <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>
Selecionar nó
XPath usa expressões de caminho para selecionar nós em documentos XML. Os nós são selecionados seguindo o caminho ou o passo.
A seguir, listamos as expressões de caminho mais úteis:
Expressão | Descrição |
---|---|
nodename | Selecionar todos os nós filhos deste nó. |
/ | Selecionar a partir do nó raiz. |
// | De um nó atual correspondente, escolher nós no documento, independentemente de sua posição. |
. | Selecionar o nó atual. |
.. | Selecionar o nó pai do nó atual. |
@ | Selecionar atributo. |
Exemplo
A seguir, na tabela, listamos algumas expressões de caminho e seus resultados:
Expressão de Caminho | Resultados |
---|---|
bookstore | Selecionar todos os nós filhos do elemento 'bookstore'. |
/bookstore |
Selecionar o elemento raiz 'bookstore'. Nota: Se o caminho começa com uma barra invertida (/), este caminho sempre representa o caminho absoluto até um elemento! |
bookstore/book | Selecionar todos os elementos 'book' que sejam filhos do elemento 'bookstore'. |
//book | Selecionar todos os elementos 'book' filhos, independentemente de sua posição no documento. |
bookstore//book | Selecionar todos os elementos 'book' descendentes do elemento 'bookstore', independentemente de sua posição. |
//@lang | Selecionar todas as propriedades chamadas 'lang'. |
Predicados (Predicados)
O predicado é usado para encontrar um nó específico ou um nó que contém um valor específico.
O predicado está entre colchetes.
Exemplo
A seguir, na tabela, listamos alguns expressões de caminho com predicados e seus resultados:
Expressão de Caminho | Resultados |
---|---|
/bookstore/book[1] | Selecionar o primeiro elemento 'book' filho do elemento 'bookstore'. |
/bookstore/book[last()] | Selecionar o último elemento 'book' filho do elemento 'bookstore'. |
/bookstore/book[last()-1] | Selecionar o segundo elemento 'book' filho do elemento 'bookstore', contando da última posição. |
/bookstore/book[position()<3] | Selecionar os dois primeiros elementos 'book' que sejam filhos do elemento 'bookstore'. |
//title[@lang] | Selecionar todos os elementos 'title' que tenham a propriedade 'lang'. |
//title[@lang='eng'] | Selecionar todos os elementos 'title' que tenham a propriedade 'lang' com valor 'eng'. |
/bookstore/book[price>35.00] | Selecionar todos os elementos 'book' dentro do elemento 'bookstore', cujo elemento 'price' tenha um valor maior que 35.00. |
/bookstore/book[price>35.00]/title | Selecionar todos os elementos title do elemento book dentro do elemento bookstore, cujo valor do elemento price deve ser maior que 35.00. |
Selecionar Nó Desconhecido
Os símbolos de substituição XPath podem ser usados para selecionar elementos XML desconhecidos.
Símbolo de Substituição | Descrição |
---|---|
* | Coincidir com qualquer nó de elemento. |
@* | Coincidir com qualquer nó de atributo. |
node() | Coincidir com qualquer tipo de nó. |
Exemplo
A seguir, listamos algumas expressões de caminho e os resultados dessas expressões em uma tabela.
Expressão de Caminho | Resultados |
---|---|
/bookstore/* | Selecionar todos os elementos filhos do elemento bookstore. |
//* | Selecionar todos os elementos no documento. |
//title[@*] | Selecionar todos os elementos title com atributos. |
Selecionar Vários Caminhos
Ao usar o operador "|" em expressões de caminho, você pode selecionar vários caminhos.
Exemplo
A seguir, listamos algumas expressões de caminho e os resultados dessas expressões em uma tabela.
Expressão de Caminho | Resultados |
---|---|
//book/title | //book/price | Selecione todos os elementos title e price do elemento book. |
//title | //price | Selecione todos os elementos title e price no documento. |
/bookstore/book/title | //price | Selecione todos os elementos title pertencentes ao elemento bookstore e todos os elementos price no documento. |
- Página Anterior Nó XPath
- Próxima Página Eixos XPath