O XPath é uma linguagem para seleção de nós em um documento XML. Entre outas coisas, é bastante utilizada quando se trabalha com XSLT. Como ela também é suportada em diversas bibliotecas ela é comumente utilizada com C (libxml2), C++ (xalan, xerces, etc), Java (jaxp, etc), Python, e muitas outras linguagens
Hoje, precisei fazer uma expressão para obter um nó somente quando o nó pai fosse igual a um determinado valor e tivesse algum atributo específico.

<paises continente=”Europa”/>
<pais nome=”Portugal”/>
<pais nome=”França” />
</paises>
<paises continente=”Africa” />
<pais nome=”Angola”/>
</paises>

Vamos supor que você quisesse obter o nó referente a Angola. Você poderia faze-lo através da seguinte expressão:

[code]
//paises[@continente=’Africa’]/pais[@nome=’Angola’]
[/code]

No caso a expressão // representa os nós descendentes ou o próprio e a expressão @ representa um atributo. A expressão completa representa um caminho para o nó (de modo análogo /usr/share ou C:/windows representam um caminho no disco rígido).
Mais sobre XPath neste excelente tutorial.

Deixe um comentário