Sintaxe XPath
- Página Anterior Nó XPath
- Próxima Página Eixo 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 um caminho (path) ou passo (steps).
Documento de exemplo XML
Usaremos este documento XML em alguns 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>
Selecione nó
XPath usa expressões de caminho para selecionar nós em documentos XML. Os nós são selecionados seguindo um caminho ou passo.
A seguir, listamos as expressões de caminho mais úteis:
Expressão | Descrição |
---|---|
nodename | Selecione todos os nós filhos deste nó. |
/ | Selecione a partir do nó raiz. |
// | Selecione nós no documento que correspondem à seleção atual, independentemente de sua posição. |
. | Selecione o nó atual. |
.. | Selecione o nó pai do nó atual. |
@ | Selecione atributo. |
Exemplos
Na tabela a seguir, listamos alguns expressões de caminho e seus resultados:
Expressões de caminho | Resultados |
---|---|
bookstore | Selecione todos os nós filhos do elemento 'bookstore'. |
/bookstore |
Selecione o elemento raiz 'bookstore'. Nota: Se o caminho começa com uma barra invertida (/), ele sempre representa o caminho absoluto até um elemento! |
bookstore/book | Selecione todos os elementos 'book' que são descendentes do elemento 'bookstore'. |
//book | Selecione todos os elementos filhos 'book', independentemente de sua posição no documento. |
bookstore//book | Selecione todos os elementos filhos do elemento 'bookstore', independentemente de sua posição subsequente no 'bookstore'. |
@@lang | Selecionar todos os atributos chamados lang. |
Predicados (Predicados)
O predicado é usado para encontrar um nó específico ou um nó que contenha um valor específico.
O predicado está entre colchetes.
Exemplos
Na tabela a seguir, listamos algumas expressões de caminho com predicados e os resultados dessas expressões:
Expressões de caminho | Resultados |
---|---|
/bookstore/book[1] | Selecionar o primeiro elemento book que seja filho do elemento bookstore. |
/bookstore/book[last()] | Selecionar o último elemento book que seja filho do elemento bookstore. |
/bookstore/book[last()-1] | Selecionar o segundo último elemento book que seja filho do elemento bookstore. |
/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 o atributo nomeado lang. |
//title[@lang='eng'] | Selecionar todos os elementos title que tenham o atributo lang com valor eng. |
/bookstore/book[price>35.00] | Selecionar todos os elementos book dentro do elemento bookstore, cujo valor do elemento price seja 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 seja maior que 35.00. |
Selecionar nós desconhecidos
Os símbolos de coringa do XPath podem ser usados para selecionar elementos XML desconhecidos.
Símbolos de coringa | Descrição |
---|---|
* | Coincidir com qualquer nó de elemento. |
@* | Coincidir com qualquer nó de atributo. |
node() | Coincidir com qualquer tipo de nó. |
Exemplos
Na tabela a seguir, listamos algumas expressões de caminho e os resultados dessas expressões:
Expressões de caminho | Resultados |
---|---|
/bookstore/* | Selecionar todos os elementos filhos do elemento bookstore. |
//* | Selecionar todos os elementos do 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árias caminhos.
Exemplos
Na tabela a seguir, listamos algumas expressões de caminho e os resultados dessas expressões:
Expressões de caminho | Resultados |
---|---|
//book/title | //book/price | Selecionar 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 Eixo XPath