Bonjour à tous,
Voici je bloque sur un sujet simple et j'ai presque honte de vous demander (si si )
J'ai un fichier xml de cette forme :
Je voudrais avec uniquement javascript et le dom xml afficher au moins une information pour chacune de mes balises
Pour une balise comme <reseau> ca va je m'en sors parce que il n'y en a qu'une seule
Mais pour une balise comme <panneau> je n'arrive pas à boucler dessus
Je ne sais pas par quoi commencer malgré tout ce que j'ai pu lire
je suis persuadé que cela est hyper simple mais je bloque ( j'ai presque honte de demander à nouveau...)
Sur quoi doit porter mon for pour que j'affiche ensuite toutes les sous-balises de la balise <panneau> ?
Pour boucler sur les sous-balises, j'utilise ça :
Merci de votre aide parce que là je commence à m'énerver (oui je sais je ne devrais pas...) [/i]
Voici je bloque sur un sujet simple et j'ai presque honte de vous demander (si si )
J'ai un fichier xml de cette forme :
<?xml version="1.0" encoding="UTF-8"?>
<reseau>
<id_reseau>123</id_reseau>
<lib_res>RESEAU 1</lib_res>
<lib_aff>AVENIR</lib_aff>
<datedepart>17/03/2010</datedepart>
<faces>135</faces>
<pdv>8</pdv>
<pdvmu>0</pdvmu >
<facesmu>0</facesmu >
<facesgf>135</facesgf >
<vitri>0</vitri >
<colle>135</colle >
<cons>7</cons>
<couleur_marqueur>red</couleur_marqueur >
<liste_communes>
<commune>
<id_commune>11111</id_commune>
<lib_com>AAAAA</lib_com>
<pop_comm>5684</pop_comm>
<pourc>5%</pourc>
<km_comm>10</km_comm>
<liste_iris>
<iris>
<id_iris>aaa</id_iris>
<lib_iris>IRISAAA</lib_iris>
<faces_iris>10</faces_iris>
<pop_iris>10000</pop_iris>
<km_iris>12</km_iris>
<magasin>
<id_mag>MAG1</id_mag>
<adr_mag>12 RUE DE LA POUPEE</adr_mag>
<liste_px>
<panneau>
<id_panneau>678910</id_panneau>
<adr1>RUE DE LA republique</adr1>
<adr2>ANGLE RIE</adr2>
<km>13.4</km>
<format>400X300</format>
<ecl>NON</ecl>
<tri>NON</tri>
<lat>45.56</lat>
<lng>5.56</lng>
</panneau>
<panneau>
<id_panneau>3456789</id_panneau>
<adr1>RUE DE LA GARE a cote de la rie </adr1>
<adr2>RURURUR</adr2>
<km>13.4</km>
<format>400X300</format>
<ecl>NON</ecl>
<tri>NON</tri>
<lat>45.56</lat>
<lng>5.56</lng>
</panneau>
</liste_px>
</magasin>
</iris>
<iris>
<id_iris>bbb</id_iris>
<lib_iris>IRISBBB</lib_iris>
<faces_iris></faces_iris>
<pop_iris>10000</pop_iris>
<km_iris>12</km_iris>
<magasin>
<id_mag>MAG1</id_mag>
<adr_mag>12 RUE DE LA POUPEE</adr_mag>
<liste_px>
<panneau>
<id_panneau>678910</id_panneau>
<adr1>RUE Du bidule</adr1>
<adr2>ANGLE RIE</adr2>
<km>13.4</km>
<format>400X300</format>
<ecl>NON</ecl>
<tri>NON</tri>
<lat>45.56</lat>
<lng>5.56</lng>
</panneau>
</liste_px>
</magasin>
</iris>
</liste_iris>
</commune>
<commune>
<id_commune>22222</id_commune>
<lib_com>BBBBB</lib_com>
<pop_comm>12000</pop_comm>
<pourc>3%</pourc>
<km_comm>8</km_comm>
<liste_iris>
<iris>
<id_iris>CCC</id_iris>
<lib_iris>IRISCCC</lib_iris>
<faces_iris>5</faces_iris>
<pop_iris>10000</pop_iris>
<km_iris>12</km_iris>
<magasin>
<id_mag>MAG1</id_mag>
<adr_mag>12 RUE DE LA POUPEE</adr_mag>
<liste_px>
<panneau>
<id_panneau>678910DEFR</id_panneau>
<adr1>RUE DE LA MAIRIE</adr1>
<adr2></adr2>
<km>13.4</km>
<format>553X217</format>
<ecl>NON</ecl>
<tri>NON</tri>
<lat>45.56</lat>
<lng>5.56</lng>
</panneau>
<panneau>
<id_panneau>34567894567</id_panneau>
<adr1>RUE DE VICHY</adr1>
<adr2>RURURUR</adr2>
<km>13.4</km>
<format>400X300</format>
<ecl>NON</ecl>
<tri>NON</tri>
<lat>45.56</lat>
<lng>5.56</lng>
</panneau>
</liste_px>
</magasin>
</iris>
<iris>
<id_iris>DDD</id_iris>
<lib_iris>IRISDDD</lib_iris>
<faces_iris></faces_iris>
<pop_iris>10000</pop_iris>
<km_iris>7</km_iris>
<magasin>
<id_mag>MAG1</id_mag>
<adr_mag>12 RUE DE LA POUPEE QUI TPOUSSE FORT</adr_mag>
<liste_px>
<panneau>
<id_panneau>678910</id_panneau>
<adr1>RUE DU TRUC</adr1>
<adr2>ANGLE RUE DU MANCHE</adr2>
<km>13.4</km>
<format>400X300</format>
<ecl>NON</ecl>
<tri>NON</tri>
<lat>45.56</lat>
<lng>5.56</lng>
</panneau>
</liste_px>
</magasin>
</iris>
</liste_iris>
</commune>
</liste_communes>
</reseau>
Je voudrais avec uniquement javascript et le dom xml afficher au moins une information pour chacune de mes balises
Pour une balise comme <reseau> ca va je m'en sors parce que il n'y en a qu'une seule
Mais pour une balise comme <panneau> je n'arrive pas à boucler dessus
Je ne sais pas par quoi commencer malgré tout ce que j'ai pu lire
je suis persuadé que cela est hyper simple mais je bloque ( j'ai presque honte de demander à nouveau...)
Sur quoi doit porter mon for pour que j'affiche ensuite toutes les sous-balises de la balise <panneau> ?
Pour boucler sur les sous-balises, j'utilise ça :
x = xmlDoc.getElementsByTagName("reseau")[0].childNodes;
y = xmlDoc.getElementsByTagName("reseau")[0].firstChild;
for (i=0; i<x.length; i++){
if (y.nodeType==1){//Process only element nodes (type 1)
document.write(y.nodeName + " : -- " + x[i].childNodes[0].nodeValue + "<br />");
}
y=y.nextSibling;
}
Merci de votre aide parce que là je commence à m'énerver (oui je sais je ne devrais pas...) [/i]