-1

使用 curl 我下载 XML 文件并保存在本地。如何检查此文件是有效的 XML。在 donloadedd 之后,我将此文件中的信息保存到 mysql 中。

    $url = '<URL to XML>';
    $local_path = "myxml.xml";
    $file_handle = fopen($local_path, "w");

    ob_start();
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_FILE, $file_handle);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_TIMEOUT, 5); // times out after 4s
    curl_setopt($ch, CURLOPT_TIMEOUT, 5);
    $result = curl_exec($ch);
    curl_close($ch);
    ob_end_clean();
    fclose($file_handle);

我试过这个但没有工作。

if (filesize('myxml.xml')>0) {

    $str_xml = file_get_contents('myxml.xml');
    if(simplexml_load_string($str_xml)){
        echo 'XML';
    }else{
        echo 'NOT XML';
    }

代码返回此错误

警告:simplexml_load_string() [function.simplexml-load-string]:实体:第 1 行:解析器错误:需要开始标记,“<”在

我哪里错了?

提前致谢 !

4

1 回答 1

0

错误的不是 XML 的解析。

您从 CURL 检索中获得了格式错误的 XML。做一个回声,$str_xml看看有什么问题!

于 2012-09-10T08:27:48.777 回答