2017-08-26 6 views
1

Comme vous pouvez le voir, j'ai vérifié d'autres réponses ici sur Stackoverflow mais je n'ai que des résultats vierges. Voici ce que j'ai jusqu'à maintenant:PHP simplexml_load_file pas l'analyse

$city = simplexml_load_file('http://api.openweathermap.org/data/2.5/weather?q=Tijuana&mode=xml&appid=12fcd235af3a27a895aecb26bc957055'); 

echo $city['current']['city']['name']; 
echo $city->current->city; 

Toute aide est grandement appréciée.

+1

Try this 'echo (string) $ ville-> ville [ "nom"], ou' '' file' simplexml_load_string' ignorer l'élément racine, qui est 'current' dans votre cas –

+0

Une dernière question: Sahil , Je peux obtenir le résultat pour la première poche mais pas la seconde ... par exemple: humidité ["valeur"]; $ wind_v = (chaîne) $ base_clima-> vent ["vitesse"] ['valeur']; >

<= 'Humidité:'?..? Humedad de $ '%'>

<= 'Vitesse du vent:?. $ wind_v .'Km/h '?>

+0

Je ne comprends pas quelle deuxième poche? –

Répondre

1

Dans votre changement de code ceci:

$base_clima->wind["speed"]['value']; 

Ce:

$base_clima->wind->speed['value']; 

print Exemple d'un objet:

[wind] => SimpleXMLElement Object 
     (
      [speed] => SimpleXMLElement Object 
       (
        [@attributes] => Array 
         (
          [value] => 1.95 
          [name] => Light breeze 
         ) 

       ) 
     ) 

Pour accéder aux éléments d'un objet Tu peux nous e quelque chose comme ceci $object->element1->element2 mais dans simplexml_load_string/file@attributes peut être consulté comme un tableau de sorte que vous pouvez l'utiliser comme ça.

Essayez ceci, J'espère que celui-ci vous sera utile.

$city = simplexml_load_file('http://api.openweathermap.org/data/2.5/weather?q=Tijuana&mode=xml&appid=12fcd235af3a27a895aecb26bc957055'); 
echo $humedad = (string)$city->humidity["value"]; 
echo $wind_v = (string)$city->wind->speed['value']; 
+1

Vous êtes un genre! Merci beaucoup. –