2017-08-26 12 views
1

ご覧のとおり、私はStackoverflowで他の答えをチェックしましたが、空白の結果しか得られません。ここに私はこれまでに何を持っているのですか:PHPのsimplexml_load_fileは解析されていません

$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; 

何か助けが大歓迎です。あなたのコードの変更で

+1

この 'エコー(文字列)$シティ - >都市[ "名前"]を試してみてください。あなたのケースで –

+0

一つの最後の質問' current'あるfile'は、ルート要素を無視する '' simplexml_load_string'または '、:サヒール私は最初のポケットの結果を得ることができますが、2番目のポケットはありません。例えば、 <?php $ base_clima = simplexml_load_file( 'http://api.openweathermap.org/data/2.5/weather?q=Tijuana&mode = xml&appid = 12fcd235af3a27a895aecb26bc957055 '); // print_r($ city); $ humedad =(文字列)$ base_clima-> humidity ["値"]; $ wind_v =(文字列)$ base_clima->風["スピード"] ['値']; ?>

<?= 'Humidity:'。$ humedad。 '%'?>

<?= '風速:'。 $ wind_v .'Km/h '?>

+0

どちらのポケットが分かりませんか? –

答えて

1

この:

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

この:オブジェクトの

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

サンプルプリント:

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

       ) 
     ) 

オブジェクトの要素にアクセスするためにあなたは私たちにできるこのようなものは$object->element1->element2だがsimplexml_load_string/file@attributesには配列としてアクセスできるので、このように使うことができる。

これを試してください、この1つが役立つことを願っています。

$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

あなたは属です! ありがとうございました。 –

関連する問題