Originariamente inviato da natasha
allora perchè non funziona?
Ma hai chiaro come funziona XPath? Ecco uno scenario di esempio (prendo per buono il XML che hai postato all'inizio).

Potresti fare sul documento la seguente evaluate:

codice:
NodeList nodeList = (NodeList) xPath.evaluate("/lista-alberghi/albergo", tuoDocumento, XPathConstants.NODESET);
Nota la espressione: "/" = documento, "lista-alberghi" = tag radice, "albergo" = tag primo sottolivello della radice.

Il NodeList che ottieni ti fornirebbe dei Node che sono effettivamente, come oggetti, degli Element relativi ai tag <albergo>.

Ora, per ogni nodo <albergo> (quindi usando questo nodo come "contesto") potresti fare la seguente evaluate:

codice:
String camere = xPath.evaluate("camere", nodoAlbergo);
Nota anche qui la espressione: non inizia con "/" perché il contesto ora è <albergo>. La espressione fa scendere solo di un livello a <camere> e ne prende il testo contenuto.

Ora è più chiaro? Spero.