simplexml_load_string解析器错误:AttValue:“或'预期

时间:2012-08-18 09:38:58

标签: php xml simplexml

我在解析谷歌天气时遇到以下错误。任何人都知道这个解决方案一直在寻找,但没有快乐

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

1 个答案:

答案 0 :(得分:2)

google weather API is known to会不时抛出403错误。发生这种情况时,将使用HTTP 403响应和HTML错误文档来回答请求。由于错误文档不是有效的XML,因此无法使用simplexml_load_string解析它。

您应该使用another weather API