IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Lecture d'un fichier XML impossible.


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de Zebulon777
    Homme Profil pro
    Informaticien
    Inscrit en
    Février 2005
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Février 2005
    Messages : 1 327
    Par défaut Lecture d'un fichier XML impossible.
    Bonjour tout le monde,

    J'ai ce type de 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
     
    <?xml version="1.0" encoding="ISO-8859-1" ?> 
    <VOLS>
    	<LISTE>
    		<2011_01_01>
    			<NB_TRAJ>10</NB_TRAJ>
    			<TOT_TRAJ>100</TOT_TRAJ>
    		</2011_01_01>
    		<2011_01_02> 
    			<NB_TRAJ>20</NB_TRAJ>
    			<TOT_TRAJ>200</TOT_TRAJ>
    		</2011_01_02>
    		<2011_01_03> 
    			<NB_TRAJ>30</NB_TRAJ>
    			<TOT_TRAJ>300</TOT_TRAJ>
    		</2011_01_03>
    	</LISTE>
    </VOLS>
    Mais lorsque j'essaye de le lire, ça ne fonctionne pas.
    J'ai toujours l'erreur "L'expression ne renvoie pas un noeud DOM"

    Voici mon code :
    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
     
    	var WNoeud_MOIS = "VOLS/LISTE/*";
    	var WNoeud_Val1 = "VOLS/LISTE/" + P_Annee + "_" + P_Mois + "_" + P_Jour + "/NB_TRAJ";
    	var WNoeud_Val2 = "VOLS/LISTE/" + P_Annee + "_" + P_Mois + "_" + P_Jour + "/TOT_TRAJ";
     
    	WNomFichierXML = G_RepXML + "Vols_" + P_Annee + ".xml";
    	var XML_Vols = new ActiveXObject("Microsoft.xmldom");
    	XML_Vols.async = false;
    	WFichier = G_RepXML + WNomFichierXML;
    	WFichierXML = XML_Vols.load(WFichier);
     
    	WVal1 = XML_Vols.selectNodes(WNoeud_Val1).text;
    	WVal2 = XML_Vols.selectNodes(WNoeud_Val2).text;
     
    	alert(WVal1 + G_CrLf + WVal2);
    Mais, je ne vois pas ce qui ne fonctionne pas ?

    Merci d'avance pour votre aide.

  2. #2
    Membre éprouvé Avatar de Zebulon777
    Homme Profil pro
    Informaticien
    Inscrit en
    Février 2005
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Février 2005
    Messages : 1 327
    Par défaut
    Bon, j'ai résolu le premier problème en faisant un autre 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
     
    <?xml version="1.0" encoding="ISO-8859-1" ?> 
    <VOLS>
    	<LISTE>
    		<M20110101>
    			<NB_TRAJ>10</NB_TRAJ>
    			<TOT_TRAJ>100</TOT_TRAJ>
    		</M20110101>
    		<M20110102> 
    			<NB_TRAJ>20</NB_TRAJ>
    			<TOT_TRAJ>200</TOT_TRAJ>
    		</M20110102>
    		<M20110103> 
    			<NB_TRAJ>30</NB_TRAJ>
    			<TOT_TRAJ>300</TOT_TRAJ>
    		</M20110103>
    	</LISTE>
    </VOLS>
    Par contre, je voudrai savoir comment se positionner directement sur un noeud donné, par exempe, récupérer les valeurs du 21/07/2011 ?
    Est-ce que ce sera rapide lorsque l'année sera complète ?
    Est-ce que vous coryez qu'il est raisonnable de traiter plusieurs années dans le même fichier ?
    Bref, que me conseillez-vous ?

  3. #3
    Membre éclairé Avatar de tigunn
    Homme Profil pro
    Développeur de bug
    Inscrit en
    Janvier 2003
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de bug

    Informations forums :
    Inscription : Janvier 2003
    Messages : 608
    Par défaut
    Pour accéder directement à un noeud particulier, regarde les tutos sur Xpath .
    Sinon, pour la question des charges, je ne saurais dire : il faudrait mieux que tu teste; toutefois, pour info, il existe des bdd xml comme Exist-Db (gratuit) qui permet de définir des index. Exist a des performances correctes, voir bonnes.

  4. #4
    Membre éprouvé Avatar de Zebulon777
    Homme Profil pro
    Informaticien
    Inscrit en
    Février 2005
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Février 2005
    Messages : 1 327
    Par défaut
    Ho puré, j'ai rien compris et en plus je n'ai pas réussit à trouver des exemples de codes sur le site...

  5. #5
    Membre éprouvé Avatar de Zebulon777
    Homme Profil pro
    Informaticien
    Inscrit en
    Février 2005
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Février 2005
    Messages : 1 327
    Par défaut
    Bon, ben je suis dans le caca, je n'arrive vraiment pas à me positionner directement sur le bon noeud en fonction de la date saisie.

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    À ta place j'utiliserais jQuery.

    J'ai trouvé un tutoriel de parcours de XML avec jQuery, et en le lisant, lui et la documentation de jQuery, notamment ce qui concerne la navigation dans le XML et les sélecteurs CSS gérés, on peut s'en sortir sans trop de problèmes.

    Mais 'faut que tu saches que ton XML est très mauvais. Il vaudrait mieux quelque chose genre :

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?xml version="1.0" encoding="ISO-8859-1" ?> 
    <vols>
      <liste>
        <date for="20110101">
          <nb_traj>10</nb_traj>
          <tot_traj>100</tot_traj>
        </date>
        <date for="20110102">
          <nb_traj>20</nb_traj>
          <tot_traj>200</tot_traj>
        </date>
      </liste>
    </vols>

    Les balises ont le même nom, c'est l'attribut qui change. C'est prévu pour marcher comme ça.
    Aussi, l'usage est aux balises en minuscule, mais ça marche aussi en majuscules.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de lecture d'un fichier XML d'InfoPath
    Par snadus dans le forum InfoPath
    Réponses: 7
    Dernier message: 06/06/2006, 14h45
  2. Lecture d'un fichier XML de config avec Java
    Par cofy dans le forum Format d'échange (XML, JSON...)
    Réponses: 6
    Dernier message: 31/01/2006, 15h54
  3. Problème de lecture dans un fichier xml
    Par Pyra dans le forum Langage
    Réponses: 2
    Dernier message: 18/12/2005, 00h13
  4. Probleme de lecture d'un fichier XML
    Par chleuh dans le forum Langage
    Réponses: 8
    Dernier message: 30/08/2005, 12h04
  5. [C#] [XML] Lecture d'un fichier XML => Combobox
    Par Chad`Chiwa dans le forum Windows Forms
    Réponses: 8
    Dernier message: 09/03/2005, 08h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo