致命错误:未捕获异常'Exception',消息'String无法解析为XML'

时间:2012-09-03 17:44:53

标签: php xml curl

我正在使用PHP 5并尝试使用cURL从网页获取货币汇率。

要检索我打电话的内容:

$html = curl_exec($ch);

这会正确显示页面。但是,当我尝试使用以下格式将其格式化为XML时

$xml = new SimpleXMLElement($html);

显示许多警告,结尾为“致命错误:未捕获异常'异常',消息'字符串无法解析为XML'”

我使用了stripslashes($html)并关闭了magic_qoutes ...

请帮我找一个解决方案,过去两天我一直坚持这个问题。

另请注意,页面中嵌入了JavaScript ..这是不允许创建XML的JavaScript吗?

谢谢

1 个答案:

答案 0 :(得分:3)

如果您不想阅读xml数据,请按照这些步骤进行操作

$ xmlURL =“你的xml网址/文件名在这里”;

try {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $xmlURL);
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        'Content-type: text/xml'
    ));
    $content = curl_exec($ch);
    $error   = curl_error($ch);
    curl_close($ch);
    $obj = new SimpleXMLElement($content);
    echo "<pre>";
    var_dump($obj);
    echo "</pre>"; 
}
catch(Exception $e){
    var_dump($e);exit;
}

您将获得整个XML文件的数组格式。

感谢。