Bonjour à tous,
je m'adresse à vous pour un "souci" simple.
Mais comme je commence la programmation je me prends la tête depuis deux jours dessus malgré toute la littérature que j'ai pu trouvé
sur comment parser un XML dans du HTML à l'aide de Javascript et du DOM.

Voila mon fichier XML : sa structure est correcte d'après mon éditeur XML et d'après ce que je peux en voir.

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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<?xml version="1.0" encoding="UTF-8"?>
 
<!-- New document created with EditiX at Tue Apr 13 15:23:37 CEST 2010 -->
 
 
<reseau id_reseau="123" lib_res="RESEAU 1" lib_aff="AVENIR" datedepart="17/03/2010" faces="135" pdv="8" pdvmu="0" facesmu="0" facesgf="135" vitri="0" colle="135" cons="7" couleur_marqueur="red" >
	<commune id_commune="11111" lib_com="AAAAA" faces="3" pop_comm="5684" pourc="5%" km_comm="10">
		<iris id_iris="aaa" nom_iris="IRISAAA" faces_iris="2" pop_iris="10000" km_iris="12" >
			<magasin id_mag="123" adresse_mag="123 rue de la gare">
				<panneau id_panneau="678910">
					<adr1>RUE DE LA GARE</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="345678">
					<adr1>RUE DE LA</adr1>
					<adr2>RURRUR</adr2>
					<km>13.4</km>
					<format>400X300</format>
					<ecl>NON</ecl>
					<tri>NON</tri>
					<lat>45</lat>
					<lng>78</lng>
				</panneau>			
			</magasin>
		</iris>
		<iris id_iris="bbb" nom_iris="IRISBBB" faces_iris="1" pop_iris="10000" km_iris="19" >
			<magasin>
				<panneau id_panneau="678911">
					<adr1>RUE DE LA GARE</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>				
			</magasin>
		</iris>
	</commune>	
	<commune id_commune="33333" lib_com="CCCCC"  faces="1" pop_comm="5684" pourc="8%" km_comm="10">
		<iris id_iris="ccc" nom_iris="IRISCCC" faces_iris="1" pop_iris="10000" km_iris="12" >
			<magasin id_mag="123" adresse_mag="123 rue de la gare">
				<panneau id_panneau="565412">			
					<adr1>RUE</adr1>
					<adr2>RURURURURUR</adr2>
					<km>13.4</km>
					<format>400X300</format>
					<ecl>NON</ecl>
					<tri>NON</tri>
					<lat>12</lat>
					<lng>48</lng>
				</panneau>
			</magasin>
		</iris>	
	</commune>
 
</reseau>
La structure de mon XML est hiérarchique : elle doit normalement favorisé la création du HTML. (enfin c'est ce que je croyais....)
Voila ma problématique : je veux que les données XML aillent dans un tableau HTML en fonction de certaines règles
Explications :
1 Pour une balise <commune>, je souhaite créer un TR avec autant de TD que d'attributs contenus dans ma balise
Ainsi je souhaite afficher les valeurs de ceux-là : lib_com="AAAAA" faces="3" pop_comm="5684" pourc="5%" km_comm="10"
2 Puis pour la balise <iris>, un autre TR avec autant de TD que d'attibuts soit ceux-là :nom_iris="IRISAAA" faces_iris="2" pop_iris="10000" km_iris="12"
3 Puis pour la balise <magasin>, un autre TR avec autant 1 TD contenant mon attribut adresse_mag="123 rue de la gare",
4 Puis pour la balise <panneau>, autant de TR que de balise panneau rencontrée dans la balise <iris> et je souhaiterai qu'un TD contienne les valeurs de
adr1 et adr2 concaténées et n autre TD la valeur de la balise <km>

Si pour une même commune, il y a plusieurs iris, on recommence le point 2.
Si je rencontre une autre commune, je recommence le parsage à partir du point 1.

J'ai réussi à faire quelques affichages de mes données XML avec en plus un résultat approximatif sur les 3 navigateurs du marché (IE, Chrome et Firefox)
IE étant celui qui m'affiche des résultats (pour une fois...)

Quelqu'un pourrait-il m'aider à mettre au point une fonction javascript "récursive" qui écrive le résultat dans un div prévu à cet effet ?
Je ne sais pas si j'en demande trop.
J'utilise uniquement le DOM et javascript. Je ne souhaite pas travailler en PHP malgré les facilités offertes par ce langage pour du XML.

Et dans le meilleur des cas, je souhaiterai que cela fonctionne sur les 3 navigateurs cités avec en plus les soucis d'interprétation que j'ai pu découvrir, notamment les lignes à vide.

Je vous remercie d'avance.

PS : j'utilise ce code-là pour charger mon xml :
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
 
<script type="text/javascript">
 
	var xmlDoc;
	if (window.ActiveXObject){
	// code for IE
	xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
	}else if (document.implementation.createDocument){
	// code for Firefox, Mozilla, Opera, etc.
	xmlDoc=document.implementation.createDocument("","",null);
	} else {
	  alert('Your browser cannot handle this script');
	}
 
	xmlDoc.async=false;
	xmlDoc.load("ryls116Cv2.xml");	
 
</script>