Version complète: sur le forum Webmaster Hub : XML et wheather.com
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > XML et ses dialectes
Arnone
Bonjour,

j'essaie depuis plusieurs jours de modifier un script qui permet d'afficher la météo sur son site mais étant débutant en XML je ne parviens pas à mes fins.
En fait je voudrais récuperer une donnée depuis le fichier XML du site weather.com , celle qui indique l'indice uv.
J'ai fait des recherches sur internet, mais cela n'a rien donné.

Voilà le code :

CODE
// Lecture d'un fichier XML
function lit_xml($chaine,$isFile,$item,$champs) {
   // on lit le fichier ou la chaîne
   if($isFile) $chaine = _AT_file_get_contents($chaine);
   if($chaine) {
      // on explode sur <item>
      $tmp = preg_split("/<\/?".$item.">/",$chaine);
      // pour chaque <item>
      for($i=1;$i<sizeof($tmp);$i++)
         // on lit les champs demandés <champ>
         foreach($champs as $champ) {
            $tmp2 = preg_split("/<\/?".$champ.">/",$tmp[$i]);
            // on ajoute au tableau
            $tmp3[$champ][] = trim(@$tmp2[1]);
         }
      // et on retourne le tableau
      return @$tmp3;
   }
}

// Extraction primaire
$xml = lit_xml($url,true,"day d=.*",array("hi","low","part p=\"d\"","part p=\"n\"","wind","ppcp","uv"));

// Extraction des icones, messages et du taux d'humidité et uv
for($i=0;$i<$jours;$i++) {
   $tmp = preg_split("/<\/?icon>/",$xml["part p=\"d\""][$i]);
   $xml["icond"][$i] = $tmp[1];
   $tmp = preg_split("/<\/?t>/",$xml["part p=\"d\""][$i]);
   $xml["altd"][$i] = $tmp[1];
   $tmp = preg_split("/<\/?hmid>/",$xml["part p=\"d\""][$i]);
   $xml["hmid"][$i] = $tmp[1];
   $tmp = preg_split("/<\/?icon>/",$xml["part p=\"n\""][$i]);
   $xml["iconn"][$i] = $tmp[1];
   $tmp = preg_split("/<\/?t>/",$xml["part p=\"n\""][$i]);
   $xml["altn"][$i] = $tmp[1];
   $tmp = preg_split("/<\/?t>/",$xml["wind"][$i]);
   $xml["dvent"][$i] = $tmp[1];
   $tmp = preg_split("/<\/?s>/",$xml["part p=\"d\""][$i]);
   $xml["vvent"][$i] = $tmp[1];
   $tmp = preg_split("/<\/?t>/",$xml["uv"][$i]);
   $xml["uv"][$i] = $tmp[1];


}


la méthode que j'ai utiliser pour récuperer l'indice uv, m'affiche quelque chose mais après vérification sur un autre site, l'indice ne correspond pas. Il y a donc une erreur unsure.gif

Voilà je suis un peu perdu....

Merci pour votre aide wink.gif
Arnone
personne sad.gif ...

pour exemple, je voudrais récupérer et affichez les mêmes données météos de ce site :

fr.weather.com

Seulement impossible de lire les données xml ou php du code source (s'aurait pu être une piste pour m'aider...)
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.