L'analyse d'un XML HttpResponse

Je suis en train d'essayer de parser le XML HttpResponse je obtenir à partir d'une HttpPost à un serveur (dernière.fm), pour un dernier.fm android app. Si j'ai simplement analyser pour la chaîne, je peux voir qu'il est normal chaîne xml, avec toutes les informations souhaitées. Mais je ne peux pas analyser l'unique NameValuePairs. C'est mon objet HttpResponse:

HttpResponse response = client.execute(post);
HttpEntity r_entity = response.getEntity();

J'ai essayé deux choses différentes et non d'entre eux travaillaient. J'ai d'abord essayé de récupérer les NameValuePairs:

List<NameValuePair> answer = URLEncodedUtils.parse(r_entity);
String name = "empty";
String playcount = "empty";
for (int i = 0; i < answer.size(); i++){
   if (answer.get(i).getName().equals("name")){
      name = answer.get(i).getValue();
   } else if (answer.get(i).getName().equals("playcount")){
      playcount = answer.get(i).getValue();
   }
}

Après ce code, le nom et la lecture en reste "vide". J'ai donc essayé d'utiliser un Parseur XML:

DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document answer = db.parse(new DataInputStream(r_entity.getContent()));
NodeList nl = answer.getElementsByTagName("playcount");
String playcount = "empty";
for (int i = 0; i < nl.getLength(); i++) {
   Node n = nl.item(i);
   Node fc = n.getFirstChild();
   playcount Url = fc.getNodeValue();
}

Cela semble échouer beaucoup plus tôt, car il n'a pas la même définition de la lecture de la variable. Mais comme je l'ai dit, si je effectuer cette:

EntityUtils.toString(r_entity);

Je vais obtenir un parfait chaîne xml. Il devrait donc aucun problème à pars depuis la HttpResponse contient les informations correctes. Ce que je fais mal?

OriginalL'auteur gaussd | 2011-02-11