0

この YQL クエリの天気予報のコード要素を取得したいのですが、問題はこれが null を返すことです。

                        php
          var_dump(getResultFromYQL());

        function getResultFromYQL(  ) {

           $yql_query_url = "http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20weather.forecast%20where%20woeid%3D946738&format=json&diagnostics=true&callback=?";

            $session = curl_init($yql_query_url);
            curl_setopt($session, CURLOPT_RETURNTRANSFER, true);

            $json = curl_exec($session);
            curl_close($session);

            return json_decode($json);
        }
        ?>

OK、ソリューションphpを見つけました

            $Jakarta = 946738;  /* Jakarta */


            /* Use cURL to query the API for some XML */
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL, 'http://weather.yahooapis.com/forecastrss?w='.$Jakarta.'&u=f');
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            $weather_rss = curl_exec($ch);
            curl_close($ch);

            /* Create an object of the XML returned */
            $weather = new SimpleXMLElement($weather_rss);

            /*
            * Since I don't want to figure out an image system, I'll use Weather.com's (what Yahoo does)
            * by pulling the image directly out of the returned API request. This could be done better.
            */
            $weather_contents = $weather->channel->item->description;
            //  preg_match_all('/<img[^>]+>/i',$weather_contents, $img);
            //  $weather_img = $img[0][0];

            /* Get clean parts */

            $weather_cond = $weather->channel->item->xpath('yweather:condition');


            /* Function to convert Wind Direction from given degree units into Cardinal units */

            ?>


                             hp

                                         print $weather_cond[0]->attributes()->code;

                              ?>
                  </div>
                </div>
            </div>
            </div>
4

1 に答える 1