Bonjour, je souhaite parser un document xml. Pour une partie, j'arrive sans problème mais arrivé à un endroit, je ne trouve plus de solutions !

Fichier 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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<buss>
	<bus id="1">
		<nom>Bus 1</nom>
		<latitude>12.3213</latitude>
		<longitude>1.5761</longitude>
		<speed>20</speed>
		<nextstops>
			<nextstop>
				<arret>La fontaine</arret>
				<time>3</time>
			</nextstop>
			<nextstop>
				<arret>La poste</arret>
				<time>4</time>
			</nextstop>
			<nextstop>
				<arret>La gare</arret>
				<time>2</time>
			</nextstop>
		</nextstops>
	</bus>
	<bus id="2">
		<nom>Bus 2</nom>
		<latitude>3.3242234</latitude>
		<longitude>6.234324</longitude>
		<speed>0</speed>
		<nextstops>
			<nextstop>
				<arret>La gare</arret>
				<time>08:00</time>
			</nextstop>
		</nextstops>
	</bus>
</buss>
Maintenant le code pour parser ce fichier 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
19
 
var nbBus = xmlDoc.getElementsByTagName("bus");
for(var i=0;i<nbBus.length;i++)
	{
	var tmp = xmlDoc.getElementsByTagName("bus")[i];
	if(tmp.hasChildNodes())
		{
		var nom = xmlDoc.getElementsByTagName("nom")[i].childNodes[0].nodeValue;
		var longitude = xmlDoc.getElementsByTagName("longitude")[i].childNodes[0].nodeValue;
		var latitude = xmlDoc.getElementsByTagName("latitude")[i].childNodes[0].nodeValue;
 
		var nextStop = xmlDoc.getElementsByTagName("nextstop");
		for(var j=0;j<nextStop.length;j++)
			{
			var arret = xmlDoc.getElementsByTagName("arret")[j].childNodes[0].nodeValue;
			var time = xmlDoc.getElementsByTagName("time")[j].childNodes[0].nodeValue;								
			}				
		}	
	}
En fait, le nom, la longitude et la latitude, j'arrive à les récupérer sans problème, le problème c'est pour les arrets et le temps de chaque bus ! Je pense qu'il faut refaire une boucle mais je ne vois pas comment ! Actuellement, il me retourne pour chaque bus, toutes les valeur (arret+time) de tout le fichier, je n'arrive pas a lui dire de prendre seulement celui du bus en cours.

Merci d'avance pour votre aide