Java: comment localiser un élément via la chaîne xpath sur org.w3c.dom.document

Comment localiser rapidement element / elements via la chaîne xpath sur un org.w3c.dom.document donné? il ne semble pas y FindElementsByXpath() méthode FindElementsByXpath() . Par exemple

 /html/body/p/div[3]/a 

J’ai trouvé que l’itération récursive à travers tous les niveaux de nœud enfant était assez lente lorsqu’il y avait beaucoup d’éléments du même nom. Aucune suggestion?

Je ne peux pas utiliser d’parsingur ni de bibliothèque, je ne dois utiliser que le document w3c dom.

Essaye ça:

 //obtain Document somehow, doesn't matter how DocumentBuilder b = DocumentBuilderFactory.newInstance().newDocumentBuilder(); org.w3c.dom.Document doc = b.parse(new FileInputStream("page.html")); //Evaluate XPath against Document itself XPath xPath = XPathFactory.newInstance().newXPath(); NodeList nodes = (NodeList)xPath.evaluate("/html/body/p/div[3]/a", doc, XPathConstants.NODESET); for (int i = 0; i < nodes.getLength(); ++i) { Element e = (Element) nodes.item(i); } 

Avec le fichier page.html suivant: