Question

J'ai développé la classe suivante pour récupérer le nœud liste d'un document xml:

public class XMLDownloader {
    public static NodeList getNodeList(){   
        String url = "http://localhost/xml/example.xml";
        DefaultHttpClient client = new DefaultHttpClient();
        HttpGet method = new HttpGet(url);
        HttpResponse res = null;
        NodeList result = null;

        try {
            res = client.execute(method);
        } catch (ClientProtocolException e1) {
            e1.printStackTrace();
        } catch (IOException e1) {
            e1.printStackTrace();
        }

        try{
            InputStream is = res.getEntity().getContent();
            DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
            DocumentBuilder db = dbf.newDocumentBuilder();
            Document doc = db.parse(is);
            doc.getDocumentElement().normalize();
            result = doc.getElementsByTagName("client");                         
            is.close();

        }catch(Exception e){
             Log.e("log_tag", "Error converting result "+e.toString());
        }       
        return result;              
    }
}

Mais cette méthode retourne null. Toutes les idées?

Le fichier xml:

<status>
<client type="s" name="test1" protocol="1000">
      </client>
<client type="r" name="test2" protocol="2000"> 
      </client>
<client type="r" name="test3" protocol="3000"> 
      </client>
<client type="h" name="test4" protocol="4000"> 
      </client>
<client type="c" name="test5" protocol="5000"> 
      </client>
</status>
Était-ce utile?

La solution

Le code affiché dans la question fonctionne réellement pour moi sans aucune erreur. Je reçois un NodeList contenant les éléments attendus 5. Je l'ai essayé sur un émulateur en cours d'exécution 2.2.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top