检查有效的XML文件PHP
使用curl,我加载XML文件并保存在本地。如何检查此文件是否为有效的XML。 完成加载后,我将此文件中的信息保存到mysql检查有效的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
$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';
}