Holen Sie sich Nodelist aus dem XML -Dokument
-
26-10-2019 - |
Frage
Ich habe die folgende Klasse entwickelt, um die Knotenliste eines XML-Dokuments abzurufen:
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;
}
}
Aber diese Methode kehrt zurück null
. Irgendwelche Ideen?
Die XML -Datei:
<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>
Lösung
Der in der Frage veröffentlichte Code funktioniert für mich ohne Fehler. Ich bekomme einen Nodelist mit den erwarteten 5 Elementen. Ich habe es an einem Emulator ausprobiert, der 2.2 ausgeführt wurde.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow