检查有效的XML文件PHP

检查有效的XML文件PHP,php,xml,validation,Php,Xml,Validation,使用curl,我加载XML文件并保存在本地。如何检查此文件是否为有效的XML。 完成加载后,我将此文件中的信息保存到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,我加载XML文件并保存在本地。如何检查此文件是否为有效的XML。 完成加载后,我将此文件中的信息保存到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);
代码返回的是错误的


警告:simplexml\u load\u string()[function.simplexml load string]:实体:第1行:解析器错误:应为Start标记,对XML的解析不是错误的


从CURL检索中得到的XML格式不正确。重复一下
$str_xml
,看看有什么问题

看看你说的“不工作”是什么意思?请编辑您的问题并澄清。另外:请接受您的问题的答案!简单:当<>代码> SimeXMLLoad文件给您错误时,文件是无效的。此外,考虑使用SimeXMLLoad LyFig()代替SimeXMLLoad SyrScript()对XML进行回音并查看该结构。它是否以空白开始?有些情况下不返回有效的XML。我只想检查下载的文件是否是XML
if (filesize('myxml.xml')>0) {

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