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érer des données depuis un document XML


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé

    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 46
    Par défaut Récupérer des données depuis un document XML
    Bonjour à tous.
    Je souhaiterais commencer par m'excuser, vu la fréquence des posts à propos de la lecture d'XML en JS.

    Malgré toutes mes recherches sur le sujet, je n'ai rien trouvé de satisfaisant (soit trop simple pour mon cas, soit trop avancé).
    J'expose donc mon problème : je dispose d'un fichier "donnees.xml" de ce type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <root>
      <branche1>
        <ss-branche1>
          <tag1>toto</tag1>
          <tag2>tata</tag2>
        </ss-branche1>
        ...(même forme que ss-branche1)
      </branche1>
      <branche2>
      ...(même forme que branche1)
      </branche2>
    </root>
    Mon objectif est de récupérer les données contenues dans tous les tag1 et tag2 pour les insérer en tant qu'option d'un select

    Pour l'instant, j'en suis à ce point qui ne fonctionne pas du tout :
    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 docXml;
    function loadXML(){
    	// Routine de vérification si le navigateur gêre la méthode utilisée
    	if (document.implementation && document.implementation.createDocument) {
    	    // déclaration pour Mozilla et FF
    	    docXml = document.implementation.createDocument('', '', null);
    	}
    	else if (window.ActiveXObject){
    	    // déclaration pour IE
    	    docXml = new ActiveXObject("Microsoft.XMLDOM");
    	}
    	else{ alert('Votre navigateur ne saurait pas éxécuter ce script.'); }
    	docXml.load("avantages.xml");
    }
    window.onload = function(){ loadXML(); createSelectAv();}
     
    function createSelectAv(){
    	var noeud = docXml.getElementsByTagName('avantage');
    	for(var i=0;i < noeud.length; i++){
    		var nom = noeud[i].getElementsByTagName('nom').firstChild.value;
    		var cout = noeud[i].getElementsByTagName('cout').firstChild.value;
                    document.getElementById('selectAv').add(nom+' (Cout : '+cout+')', null);
            }
    	document.getElementById('avantages').appendChild(select);
    				//générer un select contenant les nom des avantages et affichant le coût une fois selectionné
    				//type <select><option>nom (Cout : X)</option></select>
    }
    Auriez-vous une idée pour me dépanner (quitte à modifier tout ça pour avoir le comportement voulu, autant que ça fonctionne )?

  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 659
    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 659
    Billets dans le blog
    1
    Par défaut
    perso je regarderais du coté de jquery et des son ajax et dataType xml ...
    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 éprouvé

    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 46
    Par défaut
    Ok, du coup, j'ai regardé du côté de ce tuto...

    Il me reste une zone d'ombre concernant cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('<div class="items" id="link_' + id + '"></div>').html('<a href="' + url + '">' + title + '</a>').appendTo('#Div_XML');
    Je vois pas bien ce qu'elle fait et du coup j'arrive pas à adapter à mon problème.

    Et donc après, comme je suis complètement étranger à JQuery, 'me restera à trouver comment bidouiller mon select et permettre de rajouter la même liste à la suite...
    J'vais m'en sortir... si, si

  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 659
    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 659
    Billets dans le blog
    1
    Par défaut
    si tu regardes la structure du xml du tuto ..
    tu devrais comprendre la manipulation qu'il fait des balises ...

    là il ne fait que de l'affichage ...
    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 éprouvé

    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 46
    Par défaut
    Bon... j'en suis là :
    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
    $(document).ready(  
        function(){
    	$.ajax( {
    	    type: "POST",
    	    url: "avantages.xml",
    	    dataType: "xml",
    	    success: function(xml){
    		   $(xml).find('avantage').each(   
    			 function(){
    				var nom = $(this).find('nom').text();
    				var cout = $(this).find('cout').text();
    				/*$('#selectAv').append(new Option(nom+' (Cout : '+cout+')', null));*/
    				$('<option> '+nom+' cout :'+cout+'</option>').appendTo('#selectAv');
    		    });
    	    }
        });
    });
    Et ça m'affiche strictement rien (le code en commentaire est une autre approche que j'ai tentée)...

    J'ai mon select dans mon arbre html et je veux juste le remplir... pourquoi c'est pas simple?

  6. #6
    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 659
    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 659
    Billets dans le blog
    1
    Par défaut
    on peut voir l'intégralité ?
    tu as joint la librairie 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 !

Discussions similaires

  1. Récupérer des données depuis un fichier XML
    Par mox20 dans le forum jQuery
    Réponses: 1
    Dernier message: 28/01/2010, 00h40
  2. [DOM] Récupérer des données d'un fichier XML
    Par teramp3 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 30/07/2008, 16h15
  3. Réponses: 5
    Dernier message: 02/06/2008, 09h47
  4. Intégre des données depuis un fichier xml
    Par KATE6447 dans le forum InfoPath
    Réponses: 5
    Dernier message: 20/03/2008, 13h32
  5. Récupérer des données depuis un autre site
    Par cchampion2fr dans le forum Langage
    Réponses: 31
    Dernier message: 30/10/2006, 10h05

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