1

解析谷歌天气时出现以下错误。任何人都知道这个问题的解决方案到处都是,但没有快乐

Entity: line 2: parser error : AttValue: " or ' expected

    $lang ='English';
    $place=urlencode($weather);
    $place = utf8_encode($place);
    $url = 'http://www.google.com/ig/api?weather='.$place.',$&hl='.$lang.'';        

    $ch = curl_init();       
    //Set CURL options
    curl_setopt ($ch, CURLOPT_URL, $url);
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 0);
    $raw_data = curl_exec($ch);
    //close CURL cause we dont need it anymore
    curl_close($ch);         

    $xml = simplexml_load_string($raw_data);
4

1 回答 1

2

众所周知 ,谷歌天气 API会不时抛出 403 错误。发生这种情况时,将使用 HTTP 403 响应和 HTML 错误文档来响应请求。由于错误文档不是有效的 XML,因此您无法使用simplexml_load_string.

您应该使用另一个天气 API

于 2012-08-18T09:44:56.153 回答