Erreur incompréhensible dans du code
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:
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:
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.