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

Bibliothèques et frameworks PHP Discussion :

[DOM XML] Récupérer donner XML en PHP


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2012
    Messages : 142
    Points : 125
    Points
    125
    Par défaut [DOM XML] Récupérer donner XML en PHP
    Bonjour,

    Je suis désespéré

    Je dois récupérer une liste d'évenements qui se trouve dans un fichier xml en ligne dont voici le lien:

    http://webapps.lausanne.ch/apps/LT/swiss_tourism.php

    Le XML est très copieux !

    Je voudrais recupérer une vingtaines d'evenements de cette liste.
    Donc:
    le titre: <guidle:title>
    la date: <guidle:openingHours>
    l'image: <guidle:images> <guidle:image> <guidle:url>


    Je suis complètement largué devant l'immensité de mon fichier.

    Je vous remercie de votre aide !

  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 418
    Points
    91 418
    Billets dans le blog
    20
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2012
    Messages : 142
    Points : 125
    Points
    125
    Par défaut
    Je suis depuis le debut de la semaine sur ce site Bovino

    c'est pour ça que je desespère

  4. #4
    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 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Ben montre-nous ce que tu as fait et où tu bloques parce qu'on ne va pas t'écrire le code à ta place.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2012
    Messages : 142
    Points : 125
    Points
    125
    Par défaut
    Vu la forme du XML j'ai tenté de récupérer titre et horaire comme ceci:

    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
     
    <?php
     $pattern='/\d+,\d+/';
    $url="http://webapps.lausanne.ch/apps/LT/swiss_tourism.php";
     
    $doc=new DOMDocument();
    if (!$doc->load($url)) {
        echo "Le url est indisponible; ce programme se termine.\n";
        exit(1);
    }
    $itemlist=$doc->getElementsByTagName("guidle:offer");
    foreach($itemlist as $node) {
        $title='';
        $data='';
     
        $titlelist=$node->getElementsByTagName("guidle:title");
        if ($titlelist->length!=0) {
            $title=trim($titlelist->item(0)->firstChild->nodeValue);
        }
        $descriptionlist=$node->getElementsByTagName("guidle:openingHours");
        if ($descriptionlist->length!=0) {
            $description=trim($descriptionlist->item(0)->firstChild->nodeValue);
            if (preg_match($pattern, $description, $matches)) {
                $data=$matches[0];
            }
        }
     
        if ($title!='' && $data!='') {
            echo $title, "=", $data, "<br>";
        }
    }
     
    ?>
    Page blanche sur page blanche .. =(

  6. #6
    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 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $itemlist=$doc->getElementsByTagName("guidle:offer");

    Comme c'est clairement indiqué dans la doc, guidle:offer n'est pas un nom de balise, c'est un nom de balise précédé d'un espace de nommage, donc c'est normal que tu ne récupères aucun résultat.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  7. #7
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2012
    Messages : 142
    Points : 125
    Points
    125
    Par défaut
    donc guidle est un namespace et je dois utiliser que offer ? cC'est bien ça ?

  8. #8
    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 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Oui, voire utiliser getElementsByTagNameNS qui te permet de préciser le namespace pour être sûr qu'il n'y aura pas de conflit avec d'éventuelles balises du même nom mais d'un autre espace de nommage.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  9. #9
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2012
    Messages : 142
    Points : 125
    Points
    125
    Par défaut
    Bon grace à toi j'ai avancé un peu. Cependant j'ai toujours pas le résultat escompté. La c'est clairement un problème de code
    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
    <?php
     $pattern='/\d+,\d+/';
    $url="http://webapps.lausanne.ch/apps/LT/swiss_tourism.php";
     
    $doc=new DOMDocument();
    if (!$doc->load($url)) {
        echo "Le url est indisponible; ce programme se termine.\n";
        exit(1);
    }
    $itemlist=$doc->getElementsByTagName("offer");
    foreach($itemlist as $node) {
        $title='';
        $data='';
     
        $titlelist=$node->getElementsByTagName("title");
        if ($titlelist->length!=0) {
            $title=trim($titlelist->item(0)->firstChild->nodeValue);
        }
        $descriptionlist=$node->getElementsByTagName("openingHours");
        if ($descriptionlist->length!=0) {
            $description=trim($descriptionlist->item(0)->firstChild->nodeValue);
            if (preg_match($pattern, $description, $matches)) {
                $data=$matches[0];
            }
        }
     
        if ($title!='' && $data!='') {
            echo $title,"<br>";
            echo $data, "<br>";
        }
    }
     
    ?>
    Ca m'affiche
    Les nocturnes à Lausanne
    17,19
    Collecte des marmites de l'Armée du Salut
    6,10
    Alors que mon fichier xml est remplie d'evenement et la seulement deux s'affiche

  10. #10
    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 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Il y a effectivement beaucoup d'événements, mais seulement deux dont le format des horaires correspondent à ceux que tu définis, donc seulement deux qui rentrent dans le dernier if de ta boucle.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  11. #11
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2012
    Messages : 142
    Points : 125
    Points
    125
    Par défaut
    oh oui !!! je suis désolé de t'avoir embeter merci beaucoup de partager ton savoir, tu m'as enlevé une épine du pied !
    MERCI BEAUCOUP !!!!!!!!!

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

Discussions similaires

  1. [DOM] Construction de fichier XML en PHP avec mise en page
    Par kdson dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 25/02/2008, 09h58
  2. [DOM] création de fichier XML avec PHP
    Par fleuveblanc dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 17/12/2007, 17h36
  3. [DOM] création de fichier XML avec PHP
    Par cortex007 dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 09/12/2007, 11h31
  4. [DOM] Transformer un fichier xml en fichier sql avec PHP
    Par takepaf dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 01/12/2007, 12h11
  5. [DOM] Ecrire dans mon XML avec du PHP
    Par PurpleDoll dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 15/10/2007, 14h06

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