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 :

Parse XML


Sujet :

JavaScript

  1. #1
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 64
    Par défaut Parse XML
    Bonjour,

    J'ai cherché, j'ai lu et j'ai rien compris.

    Voici ma situation. J'ai un document XML ayant un contenu ressemblant à:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?xml version="1.0" encoding="UTF-8" ?>
    <user>
    <user_info uid='115'>
          <stat name='username'>Johnny</stat>
          <stat name='access'>admin</stat>
          <stat name='display'>all</stat>
    </user_info>
    </user>
    J'aimerais comprendre et savoir comment récupérer UNE SEULE valeur de cette liste en Javascript.

    EXEMPLE: var accessType = xmlDoc.documentElement.GetValueOf('access');
    accessType sera égal à: 'admin'

    Je sais que c'est pas le bon code (et c'est justement ce que je cherche). J'aimerais connaître la ligne de code en javascript qui me permettrais d'aller chercher la valeur que je veux pour ce type de document XML. (Sans utiliser une boucle 'for' pour récupérer toute le contenu, je veux seulement aller piger une valeur à la fois).

    Je sais que W3Schools a de la docum sur le sujet (http://www.w3schools.com/XML/xml_examples.asp) mais le problème est que leur document XML d'exemple ressemble à:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <note>
    <to>Tove</to>
    <from>Jani</from>
    <heading>Reminder</heading>
    <body>Dont forget me this weekend!</body>
    </note>
    Donc je suis totalement incapable d'utiliser leur code pour l'appliquer sur mon document XML.
    J'ai regarder beaucoup d'autre exemple sur Internet mais rien ne s'applique au type de document que j'ai présentement. C'Est toujours un format différent et donc le code ne s'applique pas. Je n'arrive donc pas à trouver les bonnes fonctions...

    Merci de votre aide et je suis disponible à vos questions!

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    Il y a eu deux autres post récemment sur le parsing XML et a priori les deux on été résolus en passant par jquery ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 64
    Par défaut
    Ce fameux jquery....

    J'adorais tellement ne pas passé par cela

    C'est beau jquery, mais ça explique pas comment en javascript c'est fait.

    C'est si compliqué ma question?

    Et si j'utilise jquery dans un intranet, donc pas accès à l'Internet, est-ce que je peux utiliser jquery?

    Je vais lire la page web de jquery voir.

    note: Hmm, je voie que je peux downloader les fichiers jquery de leur site web et faire des choses le fun avec cela. Mais j'avoue que j'aurais bien aimé comprendre le code javascript en arrière au lieu d'utiliser jquery..
    Mais merci bien pour la référence.

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    jquery c'est juste du javascript ...
    pas de souci sans accès à internet puisque c'est du javascript, il suffit que tes fichiers js soient sur le reseau ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 64
    Par défaut
    C'est vraiment bien jquery, mais ça aide pas à comprendre ce qu'on fait! Et j'aime bien comprendre.

    En tout cas, voici ce que j'ai pu trouvé comme fonction qui fait exactement ce que je veux. En espérant que cela aidera quelqu'un peut-être!

    Le code XML qu'on parse:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?xml version="1.0" encoding="UTF-8" ?>
    <user>
    <user_info uid='115'>
          <stat name='username'>Johnny</stat>
          <stat name='access'>admin</stat>
          <stat name='display'>all</stat>
    </user_info>
    </user>
    Le code javascript qui parsera le 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
    function findStat(tag,attr,attrValue)
    {
        var stats=xmlDoc.getElementsByTagName(tag);
        for(var i=0;i<stats.length;i++)
        {
            if(stats[i].getAttribute(attr)==attrValue)
            {
                return stats[i].text
            }
        }
    }
     
    document.write("<b>Username:</b> "+findStat('stat','name','username')+"<br />");
    document.write("<b>Disconnect:</b> "+findStat('stat','name','access')+"<br />");
    // Ceci ira chercher uid
    var uid = xmlDoc.getElementsByTagName("user_info")[0].getAttribute('uid');
    document.write("<b>User id:</b> "+uid+"<br />");
    Je n'aime pas trop la boucle for, mais je dois faire avec le document XML qui m'est fourni. Je n'ai pas trouvé mieux.

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

Discussions similaires

  1. Choix de parsing XML
    Par soeursourire dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 16/02/2006, 09h38
  2. [XML] [EXPAT] Parsing XML et tableau global
    Par GLDavid dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 10/02/2006, 12h31
  3. [DOM] Probleme de parsing Xml en java
    Par bolivari dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 25/01/2006, 19h42
  4. parsing xml en francais
    Par ouioui2000 dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 27/10/2005, 17h03
  5. [JSP] Parsing XML avec JDOM
    Par benben13 dans le forum Servlets/JSP
    Réponses: 9
    Dernier message: 26/08/2005, 17h19

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