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

jQuery Discussion :

Parsing namespace XML avec Jquery


Sujet :

jQuery

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 108
    Points : 40
    Points
    40
    Par défaut Parsing namespace XML avec Jquery
    Bonjour,

    Je cherche à parser ce fichier XML :

    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"?>
    <Events>
        <tel>
            <telhd:onTCCreated>
                <telhd:loginName>toto</telhd:loginName>
            </telhd:onTCCreated>
        </tel>
    </Events>
    Comme vous le voyez, il y a un namespace telhd:onTCCreated. Je souhaiterai accéder à la valeur du login name. Le problème est que le code que j'ai fait ne donne rien. J'ai cherché sur internet comment parser un namespace XML et j'ai trouvé qu'il fallait utilisé la syntaxe suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $(this).find('[nodeName=telhd:loginName]').text()
    Mais cela ne donne rien. Pouvez m'aider svp? Voici le code complet de mon html :

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>xml parser using jquery</title>
    <script type="text/javascript" src="jquery-1.8.1.min.js"></script>
    <script type="text/javascript">
     
    $(document).ready(function() {
    $.ajax({
    type: "GET",
    url: "data.xml",
    dataType: "xml",
    success: parseXml
    });
     
    function parseXml(xml) {
    $(xml).find("tel").each(function() {
     
    $("table#LoginName").append('<tr><td>'+ $(this).find('[nodeName=telhd:loginName]').text()</td></tr>');
     
    });
    }
    });
    </script>
    </head>
    <body>
    <table id="LoginName">
    <tr ><td >Login Name</td><tr>
    </table>
    </body>
    </html>

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    J'ai jamais eu l'occasion de tester avec jQuery, mais une chose est sûre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $(this).find('[nodeName=telhd:loginName]').text()
    ne peut pas fonctionner car là, tu cherches les valeurs d'attributs nodeName...

    Regarde du côté de element.getElementsByTagNameNS (jQuery n'étant pas toujours la solution miracle à toutes les situations)

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 108
    Points : 40
    Points
    40
    Par défaut
    Merci pour votre réponse.

    Dommage que l'on ne puisse pas utiliser ça :

    http://kevinwhinnery.com/post/165178...xml-namespaces

    Pourrais-tu me donner un exemple d'utilisation avec getElementByTagNameNS pour accéder au texte de cette élément?

  4. #4
    Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 108
    Points : 40
    Points
    40
    Par défaut
    J'ai enfin trouvé la solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $(this).find('telhdl\\\\:loginName,loginName').text()

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

Discussions similaires

  1. [AJAX] parse xml avec jQuery pour IE7
    Par mra_ch dans le forum jQuery
    Réponses: 0
    Dernier message: 12/03/2013, 17h33
  2. Manipulation XML avec Jquery sous IE
    Par Bibuu dans le forum jQuery
    Réponses: 6
    Dernier message: 16/07/2012, 15h11
  3. lecture d'un fichier xml avec jquery
    Par devkoax dans le forum jQuery
    Réponses: 6
    Dernier message: 24/10/2011, 21h15
  4. parse fichier XML avec url dans le text
    Par bruno.rotrou dans le forum jQuery
    Réponses: 4
    Dernier message: 21/06/2011, 12h13
  5. parse de XML avec IE
    Par gnappy dans le forum jQuery
    Réponses: 1
    Dernier message: 05/01/2011, 20h40

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