Ma hai chiaro come funziona XPath? Ecco uno scenario di esempio (prendo per buono il XML che hai postato all'inizio).Originariamente inviato da natasha
allora perchè non funziona?![]()
Potresti fare sul documento la seguente evaluate:
Nota la espressione: "/" = documento, "lista-alberghi" = tag radice, "albergo" = tag primo sottolivello della radice.codice:NodeList nodeList = (NodeList) xPath.evaluate("/lista-alberghi/albergo", tuoDocumento, XPathConstants.NODESET);
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:
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.codice:String camere = xPath.evaluate("camere", nodoAlbergo);
Ora è più chiaro? Spero.![]()

Rispondi quotando