Partage
  • Partager sur Facebook
  • Partager sur Twitter

[ajax] problème récupération des données xml

    28 février 2009 à 15:42:33

    Hello all,

    j'ai commencé l'ajax il n'y a pas très longtemps et j'ai quelque problèmes pour récupérer les données de mon fichier xml, avec javascript.

    j'ai un fichier php qui génère un fichier xml de ce type :

    <?xml version=\"1.0\" encoding=\"UTF-8\" ?>
    
    <ville>
    <nom>Paris</nom>
    <codepostal>75000</codepostal>
    </ville>
    <ville>
    <nom>Lyon</nom>
    <codepostal>69000</codepostal>
    </ville>
    


    Et je souhaite récupérer les différentes valeurs de nom et codepostal via javascript

    if(r.readyState == 4){
    					
     if(r.status == 200){
    					
      var villesXML = r.responseXML.getElementsByTagName("ville");
    						
      alert(villesXML.length); // pour voir le problème
    						
      var villesHTML = "";
    						
      for(var i=0; i<villesXML.length; i++){
    						
       villesHTML += "ville"+i+" - ";
    						
      }
    						
      champAffichageMessage.innerHTML = villesHTML;
    						
     }
    					
    }
    


    Problème: si il existe plus de 1 ville dans mon fichier xml, villesXML.length me renvoie 0 alors que si il n'y en a qu'une seule, il me renvoie bien 1.


    J'ai également essayé de faire un getElementsByTagName("nom") : même constat.

    De plus si j'affiche le responseText (dans le innerHTML), il me renvoi bien mon fichier xml avec le bon nombre de villes. Le problème semble bien venir de ma façon de récupérer les données via javascript.


    Merci de m'aider.
    • Partager sur Facebook
    • Partager sur Twitter
      28 février 2009 à 15:57:35

      var villesXML = r.responseXML.getElementsByTagName("ville");
      

      Je suis pas sûr que cette méthode existe pour les formats XML... je pense que c'est réservé au HTML...
      au passage, je comprend pas bien l'intérêt de la deuxième partie de ton code... et le code entier ça serais mieux...(enfin tu laisse ce code comme il est et tu mets le code entier en secret)
      • Partager sur Facebook
      • Partager sur Twitter
        28 février 2009 à 16:03:05

        J'ai trouvé cette méthode sur divers tutos et elle marche très bien sur un autre fichier où je ne récupère qu'une seule balise (<résultat erreur="yes|no">message</résultat> si tu veux tout savoir) mais j'affirme pas qu'elle soit la mieux adaptée malgré que certains tutos montre un exemple similaire au mien.

        Et sinon pour la seconde partie du code, le bordel dans le for c'est juste pour voir si ça marchait mais après je replacerai par la mise en forme du code postal et de la ville.
        • Partager sur Facebook
        • Partager sur Twitter

        [ajax] problème récupération des données xml

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown