1

我正在尝试打开 XML 文件,但出现以下错误:

Warning: simplexml_load_file(http://www.bva.fr/fr/rss/sondages.xml) [function.simplexml-load-file]: failed to open stream: Redirection limit reached, aborting in /xxx/import.php on line 93

Warning: simplexml_load_file() [function.simplexml-load-file]: I/O warning : failed to load external entity "http://www.bva.fr/fr/rss/sondages.xml" in /xxx/import.php on line 93

Notice: Trying to get property of non-object in /xxx/import.php on line 99

Warning: Invalid argument supplied for foreach() in /xxx/import.php on line 99

第 99 行是:

foreach($xml->channel->item as $item)

我试过 :

$xml = simplexml_load_file($url);

和 :

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
$content = curl_exec($curl);
curl_close($curl);

$xml = simplexml_load_string($content);

但它仍然不起作用......

这是 XML 文件:http ://www.bva.fr/fr/rss/sondages.xml

请你帮助我好吗 ?

4

1 回答 1

1

您也许可以尝试添加互补的 curl 选项:这是完整的示例,谁可以使用这个 RSS 站点。

$options = array(
    CURLOPT_RETURNTRANSFER => true,     // return web page
    CURLOPT_HEADER         => false,    // don't return headers
    CURLOPT_FOLLOWLOCATION => true,     // follow redirects
    CURLOPT_ENCODING       => "",       // handle all encodings
    CURLOPT_USERAGENT      => "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/20100101 Firefox/18.0", // something like Firefox 
    CURLOPT_AUTOREFERER    => true,     // set referer on redirect
    CURLOPT_CONNECTTIMEOUT => 120,      // timeout on connect
    CURLOPT_TIMEOUT        => 120,      // timeout on response
    CURLOPT_MAXREDIRS      => 10,       // stop after 10 redirects
);

在您的示例中替换curl_setopt($curl, CURLOPT_URL, $url);为这个。curl_setopt_array( $curl, $options );

于 2013-02-18T19:10:46.137 回答