Obtenga Nodelist del documento XML
-
26-10-2019 - |
Pregunta
He desarrollado la siguiente clase para recuperar la lista de nodos de un documento 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;
}
}
Pero este método regresa null
. ¿Algunas ideas?
El archivo 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>
Solución
El código publicado en la pregunta realmente funciona para mí sin ningún error. Obtengo un nodelista que contiene los 5 elementos esperados. Lo probé en un emulador que ejecuta 2.2.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow