dte49889 2014-06-16 20:02
浏览 26
已采纳

如何从Yahoo YQL结果XML返回地名

I want to return all "name" values from the requested Yahoo YQL result, but all I get is an empty page :( This is my code so far:

$input = $_GET['str'];
$yql = "http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.places%20where%20text%20='".$input."'";

$feed = file_get_contents($yql);
$xml = simplexml_load_string($feed);

echo $xml->query->results->place->name; 

How can I parse and return all the XML values with the name "name"?

Returned XML structure sample: sample

Thank you very much for the help! :)

  • 写回答

1条回答 默认 最新

  • dsklzerpx64815631 2014-06-17 00:01
    关注

    Since you already got the required values to query on yahoo yql, to get the values, since this is a query, it yielded many results. You need to loop it because it returned multiple results.

    Consider this example: (York as an example.)

    $input = 'york';
    $yql = "http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.places%20where%20text%20='".$input."'";
    $contents = file_get_contents($yql);
    $xml = new SimpleXMLElement($contents);
    $places = array();
    foreach($xml->results->place as $key => $item) {
        $country_info = $item->country->attributes();
        $places[] = array(
            'placeTypeName' => (string) $item->placeTypeName,
            'name' => (string) $item->name,
            'country' => array(
                'code' => (string) $country_info['code'],
                'type' =>(string)  $country_info['type'],
                'woeid' => (string) $country_info['woeid'],
            ),
        );
    }
    
    print_r($places);
    

    All the values of name are inside $places:

    Sample Output

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么