J'ai donc déjà reçu de l'aide d'ici, alors je me suis dit pourquoi ne pas essayer à nouveau!? Toutes les suggestions seraient grandement appréciées. J'utilise le client HTTP et je fais une requête POST; la réponse est un organisme XML qui ressemble à ce qui suit:Extraction des valeurs d'attribut à partir d'un XML HttpResponse en Java
<?xml version="1.0" encoding="UTF-8"?>
<invokeResult>
<method name="RS">
<params>
<param name="sp" value="" />
<param name="cp" value="" />
<param name="ck" value="" />
</params>
</method>
<status>OK</status>
<result>
<status>ENDED</status>
<reportUrl></reportUrl>
<runId></runId>
<pass count="0" />
<fail count="1" />
<message>column,report</message>
</result>
</invokeResult>
maintenant ...
j'ai une HttpEntity qui est
String responseString = EntityUtils.toString(response.getEntity());
je voudrais obtenir la valeur de <pass count="0" />
de la réponse XML via le code Java. quelqu'un peut-il m'aider?
Code de détail que j'ai créé mais en obtenant une exception de pointeur nul.
DefaultHttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet("REQUEST-URL");
HttpResponse response = client.execute(request);
if (response.getStatusLine().getStatusCode() == 200 && response.getEntity() != null) {
String responseString = EntityUtils.toString(response.getEntity());
responseString=responseString.replaceAll("<?xml*?>", "").trim();
DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory
.newInstance();
DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
Document doc = docBuilder.parse(new InputSource(new StringReader(
responseString)));
NodeList orderNode = doc.getElementsByTagName("<pass count=");
String strOrdNo = orderNode.item(0).getTextContent();
logger.info("pass Value = " + strOrdNo);
Merci
Dans quelle ligne obtenez-vous le NPE? –
Obtenir NPE à NodeList orderNode = doc.getElementsByTagName ("
user3175778
Vous avez juste besoin de passer le nom de l'étiquette là; 'doc.getElementsByTagName (" pass ")'. S'il vous plaît vérifier ma réponse ci-dessous. –