Bonjour à tous.

Je tombe sur une truc incompréhensible : 2 codes quasiment identiques mais je ne comprends pas pourquoi le 2ème ne fonctionne pas.

Voici le code que j'utilise et qui fonctionne nickel

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
 
function Recup_Valeurs_Vols(P_Annee, P_Mois, P_Jour) {
	WNomFichierXML = "";
	WNomFichierXML2 = "";
	var WNoeud_DATE = "VOLS/DATES/LISTE/*";
	var WNoeud_NbTraj = "VOLS/DATES/LISTE/J" + P_Annee + P_Mois + P_Jour + "/NB_TRAJ";
	var WNoeud_TotTraj = "VOLS/DATES/LISTE/J" + P_Annee + P_Mois + P_Jour + "/TOT_TRAJ";
	WFirFabec = window.Form_CARPEDIEM.C_Fabec.checked;
	var XML_Vols = new ActiveXObject("Microsoft.xmldom");
	XML_Vols.async = false;
	WNomFichierXML = G_RepXML + "Vols_" + P_Annee + ".xml";
	WFichierXML = XML_Vols.load(WNomFichierXML);
	WFichierXML2 = XML_Vols.load(WNomFichierXML2);
 
alert(WNomFichierXML + " --- "+ WFichierXML + G_CrLf + WNomFichierXML2 + " --- "+ WFichierXML2);
 
	if (WFichierXML == true)
	{
		WIndex = 0;
		var WTotal = XML_Vols.selectNodes(WNoeud_DATE).length;
		WDate = new String(P_Annee + P_Mois + P_Jour);
		WNode = XML_Vols.selectSingleNode("VOLS/DATES/LISTE/J" + WDate);
		if (WNode != null)
		{
			WNbTraj = XML_Vols.selectNodes("VOLS/DATES/LISTE/J" + WDate + "/NB_TRAJ").item(0).text;
			WTotTraj = XML_Vols.selectNodes("VOLS/DATES/LISTE/J" + WDate + "/TOT_TRAJ").item(0).text;
		}
		else
		{
			WNbTraj = "Data not available"
			WTotTraj = "Data not available"
		};
	}
	else
	{
		WNbTraj = "NOK"
		WTotTraj = "NOK"
	};
}
Le code ci-dessus me renvoi bien WFichierXML à true puisque le fichier existe bel et bien.
Par contre, j'utilise le code suivant, plus rien ne fonctionne.
A noter que la seule différence est l'ajout du test "if (WFirFabec)" et rien d'autre.

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
 
function Recup_Valeurs_Vols(P_Annee, P_Mois, P_Jour) {
	WNomFichierXML = "";
	WNomFichierXML2 = "";
	var WNoeud_DATE = "VOLS/DATES/LISTE/*";
	var WNoeud_NbTraj = "VOLS/DATES/LISTE/J" + P_Annee + P_Mois + P_Jour + "/NB_TRAJ";
	var WNoeud_TotTraj = "VOLS/DATES/LISTE/J" + P_Annee + P_Mois + P_Jour + "/TOT_TRAJ";
	WFirFabec = window.Form_CARPEDIEM.C_Fabec.checked;
	if (WFirFabec)
	{
		WNomFichierXML2 = G_RepXML + "Vols_FABEC_" + P_Annee + ".xml";
	}
	else
	{
		WNomFichierXML2 = G_RepXML + "Vols_FRANCE_" + P_Annee + ".xml";
	};
	var XML_Vols = new ActiveXObject("Microsoft.xmldom");
	XML_Vols.async = false;
	WNomFichierXML = G_RepXML + "Vols_" + P_Annee + ".xml";
	WFichierXML = XML_Vols.load(WNomFichierXML);
	WFichierXML2 = XML_Vols.load(WNomFichierXML2);
 
alert(WNomFichierXML + " --- "+ WFichierXML + G_CrLf + WNomFichierXML2 + " --- "+ WFichierXML2);
 
	if (WFichierXML == true)
	{
		WIndex = 0;
		var WTotal = XML_Vols.selectNodes(WNoeud_DATE).length;
		WDate = new String(P_Annee + P_Mois + P_Jour);
		WNode = XML_Vols.selectSingleNode("VOLS/DATES/LISTE/J" + WDate);
		if (WNode != null)
		{
			WNbTraj = XML_Vols.selectNodes("VOLS/DATES/LISTE/J" + WDate + "/NB_TRAJ").item(0).text;
			WTotTraj = XML_Vols.selectNodes("VOLS/DATES/LISTE/J" + WDate + "/TOT_TRAJ").item(0).text;
		}
		else
		{
			WNbTraj = "Data not available"
			WTotTraj = "Data not available"
		};
	}
	else
	{
		WNbTraj = "NOK"
		WTotTraj = "NOK"
	};
}
Je n'ai plus rien qui fonctionne et les 2 variables WFichierXML et WFichierXML2 sont à false.
Donc le simple fait d'ajouter ces lignes fait que le fichier n'est plus trouvé.

Pourtant le nom des fichiers XML à utiliser à changer et à la place de "Vols_2011.xml", il faut maintenant que j'utilise "Vols_FRANCE_2011.xml".
Je ne comprends pas ce qui ne fonctionne pas.

Merci d'avance pour votre aide.