使用curl for php xml生成http响应

时间:2013-10-15 03:51:14

标签: php xml http

我有错误

Warning: simplexml_load_file() [function.simplexml-load-file]: I/O warning : failed to load external entity
我在同一台服务器上有两个php文件,我想从php生成xml接收http响应

update.php

<?php

$url = '[pathtofile]response.php';
$ch = curl_init($url);
curl_setopt($ch,  CURLOPT_RETURNTRANSFER, TRUE);

/* Get the HTML or whatever is linked in $url. */
$response = curl_exec($ch);

$xml = simplexml_load_file($response);

curl_close($ch);

?>

和response.php

<?php

header("Content-type: text/xml");
echo "<?xml version='1.0' encoding='ISO-8859-1'?>";
echo "<note>";
echo "<from>Jani</from>";
echo "<to>Tove</to>";
echo "<message>Remember me this weekend</message>";
echo "</note>";
?>

导致错误的原因是什么?

1 个答案:

答案 0 :(得分:0)

使用此示例:

<?php
function download_page($path){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$path);
    curl_setopt($ch, CURLOPT_FAILONERROR,1);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch, CURLOPT_TIMEOUT, 15);
    $retValue = curl_exec($ch);          
    curl_close($ch);
    return $retValue;
}

$sXML = download_page('http://alanstorm.com/atom');
$oXML = new SimpleXMLElement($sXML);

foreach($oXML->entry as $oEntry){
    echo $oEntry->title . "\n";
}