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

NodeJS Discussion :

Récupérer des données XML


Sujet :

NodeJS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2020
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2020
    Messages : 14
    Par défaut Récupérer des données XML
    Bonjour,

    J'aimerais récupérer les vacances scolaires sur une période. J'ai trouvé ce lien : http://telechargement.index-education.com/vacances.xml qui me permet de récupérer plein d'info le problème est que c'est sous format XML.

    J'ai fait ceci pour récupérer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    //Création d'une requête HTTP
        var xhr = new XMLHttpRequest();
        // Requête HTTP GET synchrone vers le fichier langages.txt publié localement
        xhr.open("GET", "http://telechargement.index-education.com/vacances.xml", false);
        // Envoi de la requête
        xhr.send();
        let xml = xhr.responseXML;

    Mais après je ne sais pas comment lire les données. Si quelqu'un pouvait m'aider, s'il vous plaît.
    Je suis en JS côté serveur avec Node.JS. Après si une personne connaît une API qui me permet de récupérer les vacances scolaire (ou autre méthode) en JSON/JS, je prends ça sera plus simple^^.

    Merci d'avance.

    Cordialement

  2. #2
    Expert confirmé
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 419
    Par défaut
    Si tu es côté serveur sur Node ce n'est pas XMLHttpRequest qu'il te faut utiliser. Ça c'est une API côté browser.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2020
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2020
    Messages : 14
    Par défaut
    Bonjour,

    merci de l'information, je ne savais pas mais dans ce cas, je fais comment en back pour aller chercher des infos dans une API?

  4. #4
    Membre Expert Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Par défaut
    D'abord je ne pense pas que le site qui fournit le document xml soit capable dans ce cas précis d'envoyer un bon mimetype que eventuellement le client puisse directement utiliser responseXML. En tout cas, on peut toujours capturer la réponse comme une chaîne de caractères.
    //let xml = xhr.responseXML;
    let xml = xhr.responseText;
    A partir de la variable xml, on peut faire toute sorte de travail comme on désire.

    La methode de le faire qui remplit la plupart de buts est de charger le module xmldom; et si on veut faire des recherches des info dedans plus compliquées, on charge le module xpath egalement.

    Comme demo, le code va progresser comme ça.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    var DOMParser=require('xmldom').DOMParser;
    var doc=new DOMParser().parseFromString(xml);
    //pour une démonstration
    var x=doc.documentElement.getElementsByTagName('departement')[0].getAttribute('numero');
    console.log(x);
     
    //pour les buts plus subtils à faire, on peut faire appeler au module xpath également
    var xpath=require('xpath');
    var z=xpath.select('//academie[@libelle="Grenoble"]/@zone', doc, true).value;
    console.log(z);
    Voilà en gros bien suffisant pour faire beaucoup des tâches.

  5. #5
    Expert confirmé
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 419
    Par défaut
    Citation Envoyé par leonora Voir le message
    Bonjour,

    merci de l'information, je ne savais pas mais dans ce cas, je fais comment en back pour aller chercher des infos dans une API?
    Je te conseille d'utiliser un package qui va abstraire la complexité des briques de base de node comme par exemple Axios.

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2020
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2020
    Messages : 14
    Par défaut
    Bonjour,

    Merci de votre aide j'ai réussi^^
    je passe par Axios qui est plus simple en plus d'utilisation.

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

Discussions similaires

  1. Récupérer des données xml dans une JList
    Par Jarell dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 06/04/2013, 14h27
  2. Comment récupérer des données XML?
    Par Tonii dans le forum Langage
    Réponses: 8
    Dernier message: 20/12/2010, 16h32
  3. récupérer des données XML sous forme de tableau
    Par ar vuzhugenn dans le forum ActionScript 1 & ActionScript 2
    Réponses: 8
    Dernier message: 22/04/2008, 21h21
  4. Récupérer des données xml
    Par <nbweb> dans le forum Flash
    Réponses: 2
    Dernier message: 05/04/2007, 16h43
  5. fonction pour récupérer des données xml
    Par jeff29 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/06/2006, 15h46

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