Bonjour,
Dans l'optique de charger dynamiquement des informations sur une page web, j'essaye de parser le retour XML d'un appel Ajax. Je viens tout juste de commencer que déjà, j'ai 2 difficultés...
1er difficulté
sur le 1er alert, j'ai exactement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 // je vous passes les details du new XHR xhr_asynchrone.open("POST",'./nav.php',true); xhr_asynchrone.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xhr_asynchrone.send(""); xhr_asynchrone.onreadystatechange = function() { if (xhr_asynchrone.readyState==4) { if (xhr_asynchrone.status == 200) { alert(xhr_asynchrone.responseText); alert(xhr_asynchrone.responseXML); } else { alert('Erreur chargement parametres !'); } } }
sur le 2eme, j'ai juste "null"... Je ne devrais pas avoir un XMLObject ? y'a t-il quelque chose que je fasse mal ?<semaine><jour>1</jour><jour>2</jour><jour>3</jour></semaine>
2eme difficulté
Dans le doute, j'ai mis la chaine de caracteres ci-dessus direct dans une string, et je l'ai donné à manger au parser :
et la fonction MkCalendrier :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 txt_xml_calendar = '<semaine><jour>1</jour><jour>2</jour><jour>3</jour></semaine>'; if (window.DOMParser) { parser=new DOMParser(); xmlCalendar=parser.parseFromString(txt_xml_calendar,"text/xml"); } else // Internet Explorer { xmlCalendar=new ActiveXObject("Microsoft.XMLDOM"); xmlCalendar.async=false; xmlCalendar.loadXML(txt_xml_calendar); } MkCalendrier(document.getElementById('left_box_calendrier'), xmlCalendar);
et la, pas de problème, ca m'affiche taille : 3, puis 1, puis 2, puis 3.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 function MkCalendrier(objParent, xml) { x=xml.getElementsByTagName("jour"); alert('taille : ' + x.length); for (z=0;z<x.length;z++) { alert(x[z].childNodes[0].nodeValue); } }
Mais, gros fou dans sa tête que je suis, j'ose rajouter une balise semaine dans ma chaine contenant elle même quelques balises jour de plus
et là c'est le drame, taille : 0 et rien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part txt_xml_calendar = '<semaine><jour>1</jour><jour>2</jour><jour>3</jour></semaine><semaine><jour>4</jour><jour>5</jour><jour>6</jour></semaine>';
Suis-je donc si nul que mon XML est faux ? Ou ai-je juste rien compris à quelque chose d'autre ?
En vous remericant par avance.
Partager