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 :

[XML] Récupérer une température dans un fichier xml en php


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2015
    Messages : 13
    Points : 13
    Points
    13
    Par défaut [XML] Récupérer une température dans un fichier xml en php
    Bonjour,
    Je suis débutant en php et je voudrais récupérer une température dans un fichier xml situé sur un site.
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    <objet>
    <yweather:condition text="Fair" code="34" temp="15" date="Mon, 11 May 2015 8:28 am CEST" />
    </objet>
    J'ai beau tester des méthodes avec Regex, SimpleXML ou DOM je n'arrive à rien
    Je cherche sur ce problème depuis plus de 12h et je commence à saturer si quelqu'un connais la solution

    Ma page en php est la suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $dom = new DOMDocument();
    $dom->load('http://mon-site-ou-se-trouve-le-fichier-xml');
    $dom = $dom->documentElement;
    $elementTemp = $dom->getElementsByTagName('objet')->item(0);
    $valeurTemp = $elementTemp->getElementByTagName('yweather:condition');
       	echo $valeurTemp->firstChild->nodeValue . "<br />";
    ?>
    Lorsque j'ouvre mon php je n'ai aucune réponse...

    Merci de votre aide.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Allons il faut perserver
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $xml = simplexml_load_string($xml);
    echo $xml->{'yweather:condition'}[0]['temp'];

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2015
    Messages : 13
    Points : 13
    Points
    13
    Par défaut
    Merci de votre réponse. J'ai trouvé une info correspondant à ce que je cherche j'ai donc changé de code.
    Je pense me rapprocher mais ça ne fonctionne toujours pas...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    $weather_feed = file_get_contents("http://weather.yahooapis.com/forecastrss?w=576086&u=c");
    preg_match('/temp="(.*?)" /', $weather_feed, $temp);
    echo $temp[1]."<br />";
    ?>

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    $xml = simplexml_load_file("http://weather.yahooapis.com/forecastrss?w=576086&u=c");
    $xml->registerXPathNamespace('yweather', 'http://xml.weather.yahoo.com/ns/rss/1.0');
    $current = $xml->channel->item[0]->xpath('yweather:condition');
    echo $current[0]['temp'];

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2015
    Messages : 13
    Points : 13
    Points
    13
    Par défaut
    Malheureusement toujours pas. Ma page m'affiche ceci:
    registerXPathNamespace('yweather', 'http://xml.weather.yahoo.com/ns/rss/1.0'); $current = $xml->channel->item[0]->xpath('yweather:condition'); echo $current[0]['temp']; ?>
    Est-ce du au mélange HTML/php de ma page ? Normalement non.

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Soit tu n'as pas mis <?php soit tu n'es pas sur une page .php, soit tu n'es pas sur un serveur web.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2015
    Messages : 13
    Points : 13
    Points
    13
    Par défaut
    Erreur de ma part j'ai effectué ces derniers tests de part une page html avec du code php lancé à /home.
    Je vais essayer demain sur le serveur web de ma raspberry. Cela devrait fonctionner.
    Merci sabotage pour ton aide
    Bonne soirée

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

Discussions similaires

  1. Récupérer une valeur dans un fichier
    Par sebbb59 dans le forum Débuter
    Réponses: 10
    Dernier message: 11/01/2009, 15h19
  2. Réponses: 0
    Dernier message: 25/02/2008, 14h23
  3. Réponses: 9
    Dernier message: 21/05/2007, 00h33
  4. récupérer une valeur dans un fichier .txt ?
    Par _n1n1_ dans le forum VB.NET
    Réponses: 5
    Dernier message: 27/04/2007, 19h19
  5. Récupérer une string dans un fichier
    Par lynchmaniac dans le forum ANT
    Réponses: 3
    Dernier message: 27/12/2006, 16h22

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