J'essaye d'analyser une page Web en XML et d'imprimer des données dans mon logcat, mais ma sortie est vide. Ceci est ma structure XML:XML Analyse dans le site Web
<?xml version="1.0"?>
<FLIGHTS>
<FLIGHT airport="b: 3 "
logo="IG"
code="IG"
numero="1234"
carrier="AirBerlin"
city="NEW YORK"
terminal="Terminal A"
sched="08:40"
expect="09:09"
tipo_volo="L" stato="J"
</FLIGHT>
<FLIGHT airport="c: 3 "
....
.....more...
</FLIGHT>
</FLIGHTS>
et voici mon code Android à l'intérieur AsyncTask:
@Override
protected String doInBackground(String... params) {
try {
URL url = new URL("http://myurl");
URLConnection conn = url.openConnection();
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(conn.getInputStream());
NodeList nodes = doc.getElementsByTagName("FLIGHT");
for (int i = 0; i < nodes.getLength(); i++) {
Element element = (Element) nodes.item(i);
// NodeList title = element.getElementsByTagName("airport");
// Element line = (Element) title.item(0);
// a.add(line.getTextContent());
Log.d("LOG...", "" + element.getTextContent());
}
} catch (Exception e) {
e.printStackTrace();
}
à l'intérieur du AndroidManifest, j'ai la permission d'Internet!
Merci!
Maintenant, je pense que je vois le problème: Essayez doc.getElementsByName ("VOLS") et non seulement "VOL". Cela va lister tous les noeuds FLIGHT. –
Cet exemple de code ne fonctionne que si le code XML était correct. Regardez à nouveau le XML dans la question –
Ok, si le XML ressemble vraiment à l'exemple, il ne peut pas fonctionner, en effet. Mais je pense que les données proviennent d'une API publique? –