Bonjour tout le monde
Je cherche à tester l'existence d'un noeud XML avec JavaScript. Voici mon fichier XML :
Comme vous le constatez, les noeuds contenu dans le noeud "prices" peuvent varier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <apartments> <maxID>2</maxID> <apartment id="1" cat="1"> <prices> <shared-bedroom>595</shared-bedroom> </prices> </apartment> <apartment id="2" cat="2"> <prices> <shared-bedroom>600</shared-bedroom> <single-bedroom>400</single-bedroom> </prices> </apartment>
Je peux avoir un "shared-bedroom". Ou bien encore un "single-bedroom" tout simplement. Ou bien les deux.
C'est pourquoi j'ai besoin de traiter mon XML avec JavaScript pour tester si l'un ou l'autre noeud existe pour mon affichage HTML.
J'ai créé le script suivant :
Mais cela ne semble pas fonctionner ! Qu'est-ce qui cloche avec mon code ?
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 var apartments = xmlDoc.getElementsByTagName("apartment"); countApartments = apartments.length; document.getElementById("apartments").innerHTML = ''; for(i = 0; i < countApartments; i++) { /* List prices */ var sharedBedroom = apartments[i].getElementsByTagName("shared-bedroom"); var singleBedroom = apartments[i].getElementsByTagName("single-bedroom"); var listPrices = ''; if(sharedBedroom.length > 0) listPrices+= '<li><strong>Price:</strong> from $'+xmlDoc.getElementsByTagName("shared-bedroom")[i].firstChild.nodeValue+'/month/person</li>'; if(singleBedroom.length > 0) listPrices+= '<li><strong>Price:</strong> from $'+xmlDoc.getElementsByTagName("single-bedroom")[i].firstChild.nodeValue+'/month</li>'; }
Merci et bonne nuit tout le monde
Partager