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 :

[DOM] Parser XML avec DOM


Sujet :

JavaScript

  1. #1
    Invité
    Invité(e)
    Par défaut [DOM] Parser XML avec DOM
    Bonjour,

    J'essaie de parser du xml avec une méthode que je viens de trouver sur le web via google mais je ne parviens pas à mettre tout ça en oeuvre.

    Voici en partie le xml en question :

    <xml version="1.0">
    <dossier>
    <nom>Machin</nom>
    <prenom>Truc</prenom>
    </dossier>
    </xml>
    La méthode que j'employais avant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var xml = xhr.reponseXML; // XML récupéré en Ajax
    var nom = xml.getElementsByTagName("nom").firstChild.nodeValue;
    La méthode DOM trouvée via Google prône qqch comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var xml = xhr.responseXML;
    var nom = xml.childNodes[0].childNodes[0].value;
    Cette méthode ne me donne aucun résultat. J'ai essayé de modifier ce code pour récupérer la valeur de nom mais rien n'y fait.

    Merci pour vos lumières!

    webrider

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Points : 1 419
    Points
    1 419
    Par défaut
    Mieux vaut utiliser ta méthode : c'est plus propre.

    Pourrais-tu donner le lien vers le site indiquant cette méthode trouvée, stp, que je voie ce qu'il en est ?

  3. #3
    Invité
    Invité(e)
    Par défaut
    En fait j'aimerais bien utiliser l'autre méthode pour traiter le xml dans une boucle sur tous les enfants du noeud "dossier" car les enfants de ce noeuds sont variables. Avec l'autre méthode je dois savoir à l'avance comment est constitué mon xml.
    Dernière modification par Domi2 ; 21/03/2011 à 13h14.

  4. #4
    Invité
    Invité(e)
    Par défaut
    J'ai essayé quelque chose de similaire mais ça ne marche toujours pas!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <xml version="1.0">
       <dossier>
          <nom>Machin</nom>
          <prenom>Truc</prenom>
       </dossier>
    </xml>
    Je voudrais par exemple recherche le nom de toutes les noeuds enfants de dossier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var dossier = xml.getElementsByTagName("dossier")[0];
    var noeuds = dossier.childNodes;
    for (var i=0; i<noeuds.length; i++) {
       alert(noeuds[i].nodeName);
    }
    Je reçois bien le nom des différents noeuds mais aussi des noeuds #text! C'est normal ça?

    #Text
    nom
    #Text
    prenom
    Je ne devrais pas avoir de noeud #Text ?!

    Merci pour vos infos,

    webrider

Discussions similaires

  1. parser un XML avec DOM minidom
    Par BlackBear dans le forum Général Python
    Réponses: 4
    Dernier message: 19/08/2010, 21h47
  2. [DOM4J] Parser un document XML avec DOM
    Par kroax dans le forum Format d'échange (XML, JSON...)
    Réponses: 6
    Dernier message: 23/11/2007, 01h48
  3. Parser un fichier XML avec DOM
    Par Bayard dans le forum Général Python
    Réponses: 1
    Dernier message: 02/11/2007, 20h44
  4. parser un fichier xml avec dom
    Par cilies38 dans le forum Modules
    Réponses: 2
    Dernier message: 04/03/2007, 21h12
  5. [JAXB/DOM] Parser Xml : possible avec path reel et non uri !
    Par Jaxofun dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 01/08/2005, 10h04

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