PHP:使用curl获取文件的XML解析 - 无法解析为XML对象?

时间:2014-03-15 02:33:19

标签: php xml curl

嘿伙计们,所以我有以下脚本似乎按预期工作,因为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格式,而不是这种简洁的文本。

1 个答案:

答案 0 :(得分:0)

尝试使用发送请求从服务器获取text/xml

curl_setopt($ch, CURLOPT_HTTPHEADER, array("Accept: text/xml"));

或使用application/xml