嘿伙计们,所以我有以下脚本似乎按预期工作,因为curl会返回一段文字:
<?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;
}
$xml_str = download_page('http://api.npr.org/list?id=3002');
echo $xml_str; //SPITS OUTS A BLURB OF TEXT
$xml = new SimpleXMLElement(file_get_contents("test.xml"));
$items = $xml->xpath('*/item');
print_r($items); //RETURNS Array()
foreach($items as $item) {
echo "one time";
echo $item['title'], ': ', $item['description'], "\n";
}
?>
我不知道如何将XML页面下载为普通的XML格式,而不是这种简洁的文本。
答案 0 :(得分:0)
尝试使用发送请求从服务器获取text/xml
。
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Accept: text/xml"));
或使用application/xml
。