J'utilise le code suivant pour interroger du code XML avec XPath que je reçois d'un flux.Toujours obtenir une valeur nulle lors de l'interrogation de XML avec XPath
DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
domFactory.setNamespaceAware(false);
DocumentBuilder builder = domFactory.newDocumentBuilder();
Document doc = builder.parse(inputStream);
inputStream.close();
XPathFactory factory = XPathFactory.newInstance();
XPath xpath = factory.newXPath();
XPathExpression expr = xpath.compile("//FOO_ELEMENT");
Object result = expr.evaluate(doc, XPathConstants.NODESET);
NodeList nodes = (NodeList) result;
for (int i = 0; i < nodes.getLength(); i++) {
System.out.println(nodes.item(i).getNodeValue());
J'ai vérifié le flux de contenu en le convertissant en une chaîne - et il est tout ce qu'il ya - il est donc pas comme s'il n'y a pas de données dans le flux. Cela me gêne tout de suite - car j'ai essayé différents types de code et je continue d'imprimer 'null' sur la ligne "System.out.println" - qu'est-ce qui me manque ici?
REMARQUE: je souhaite voir le texte à l'intérieur de l'élément.
Voulez-vous dire que System.out.println (nodes.item (i) .getNodeValue()); affiche "null" ou que vous obtenez une exception NullPointerException? – Eddie
l'a édité maintenant pour être plus clair - acclame Eddie. – Vidar