Quote Originariamente inviata da Javino89 Visualizza il messaggio
Non ho capito molto il secondo parametro.
codice:
for (int i = 0; i < list.getLength(); i++) {
                Node node = list.item(i);
                Object localResult = xpath.evaluate("ele", node , XPathConstants.STRING);
                NamedNodeMap nnm = node.getAttributes();
                //System.out.println(nnm.getNamedItem("lat") + " " + nnm.getNamedItem("lon"));
                String altitudine = localResult.toString();
                System.out.println(altitudine);
            }
Il secondo parametro l'hai messo corretto, è appunto il node (Element) del <trkpt> che fa da "contesto" di partenza. Quello che non è corretto è la espressione, solo "ele" non basta (anche perché vuoi prendere il text dentro <ele>):

"gpx:ele/text()"

gpx: perché c'è sempre di mezzo il namespace, e text() perché così (anche grazie al XPathConstants.STRING) prendi subito il testo (String) piuttosto che il nodo di testo.

Per lat/lon ricorda che getNamedItem("lat") restituisce il node dell'attributo (org.w3c.dom.Attr) non un java.lang.String ! Quindi devi prendere il value del nodo Attr.