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 :

Récupération des noeuds XML :'(


Sujet :

JavaScript

  1. #1
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut Récupération des noeuds XML :'(
    Salut à tous, j'ai petit souçis ,
    je load un fichier xml , puis j'essaye de le parcourir pour le parser, mais cela ne fonctionne pas sous ie6 code :

    fichier gabarit.xml

    Code xml : 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
     
    <?xml version="1.0" encoding="UTF-8"?>
    <galeries>
        <galerie>
            <id>1</id>
            <description>
                <titre>première galerie</titre>
                <auteur>moi</auteur>
                <dateCreation>26/10/2007</dateCreation>
                <theme>animaux</theme>
            </description>
            <images>
                <image>
                    <id>1</id>
                    <link>blabla</link>
                    <description>de l'image</description>
                    <taille w="150" h="120"></taille>
                    <poid>200ko</poid>
                </image>
                <image>
                    <id>2</id>
                    <link>blabla</link>
                    <description>de l'image</description>
                    <taille w="150" h="120"></taille>
                    <poid>200ko</poid>
                </image>
            </images>
        </galerie>
    </galeries>
    code 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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
      <meta http-equiv="content-type" content="text/html; charset=windows-1250">
      <meta name="generator" content="PSPad editor, www.pspad.com">
      <title></title>
      <script type="text/javascript">
          var xmlDoc = "";
        function importXML()
        {
            if (document.implementation && document.implementation.createDocument)
            {
                xmlDoc = document.implementation.createDocument("", "", null);
                xmlDoc.onload = arborescence;
            }
            else if (window.ActiveXObject)
            {
                xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
                xmlDoc.onreadystatechange = function () {
                    if (xmlDoc.readyState == 4) arborescence()
                };
             }
            else
            {
                alert('Your browser can\'t handle this script');
                return;
            }
            xmlDoc.load("gabarit.xml");
        }
     
     
        function arborescence(){
              x = xmlDoc.getElementsByTagName('galeries');
              alert(x[0].childNodes.length);
        }
      </script>
     
      </head>
      <body>
        <input type="button" name="test" value="click" onclick="importXML()"">
      </body>
    </html>
    la fonction arborescence me renvoit bien 3 sous firefox mais plante sous IE ( objet requis ... )

    Merci de votre aide ...
    est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes

    Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )

  2. #2
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    salut,
    je ne sais pas si j'ai bien compris ta question mais moi je te conseille déjà de faire spliter ton code importxml avec le load a part et tes fonctions d'affichages des noeuds a part genre un truc comme ca si tu veux:

    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
     var xmlDoc;
    function loadXML()
    {
      xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
      xmlDoc.async=false;
      xmlDoc.load("fichier.xml");
    }
     
     function rendugalerie(node){
              x = xmlDoc.getElementsByTagName('galeries');
              alert(x[0].childNodes.length);
     
    var html ='<ul>Galeries';
        var galerieNodes = node.getElementsByTagName('galerie);
        for(galid =0; galid < galerieNodes.length; galid++)
        {
            var galerieNode = galerieNodes[galid];
            var id = galid;
            var idNode = galerieNode.getElementsByTagName('id')[0];
    html += '<li>' + idNode.firstChild.nodeValue + '</li>';
            html += renderdescription(galerieNode, galid);
            etc....
        }
     
        html += '</ul>';
        return html;    
     
        }

    je ne sais pas un truc du genre et tu continus

Discussions similaires

  1. [StAX] Problème underscore dans le nom des noeuds XML avec stax/xstream
    Par mandarindi dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 19/08/2010, 09h51
  2. [XStream] omettre des noeud xml avec xstream
    Par sfaxien dans le forum Persistance des données
    Réponses: 2
    Dernier message: 18/11/2009, 14h51
  3. Récupération des données XML
    Par Mickael33 dans le forum XQUERY/SGBD
    Réponses: 2
    Dernier message: 02/08/2009, 10h33
  4. [RegEx] Regex pour extraire des noeuds XML
    Par lagotonio dans le forum Langage
    Réponses: 6
    Dernier message: 18/04/2008, 14h52
  5. [SimpleXML] Récupération des données XML
    Par squalito dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 30/05/2006, 14h22

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