PHP libxml错误代码68 HTMLParserEntityRef:无名称

PHP libxml错误代码68 HTMLParserEntityRef:无名称,php,xml,Php,Xml,我正在使用PHPLibXML库来处理xml文件。作为这个过程的一部分,我设置libxml_use_internal_errors(true),从文件加载xml,并使用libxml_get_errors()检查任何xml错误 这是我的密码: $filename = $local_dir . $file; $file_parts = pathinfo($filename); if ( $file_parts['extension'] != 'xml' ) continue; $xml_strin

我正在使用PHPLibXML库来处理xml文件。作为这个过程的一部分,我设置libxml_use_internal_errors(true),从文件加载xml,并使用libxml_get_errors()检查任何xml错误

这是我的密码:

$filename = $local_dir . $file;
$file_parts = pathinfo($filename);

if ( $file_parts['extension'] != 'xml' ) continue;

$xml_string = file_get_contents($filename);

// check for valid xml
libxml_use_internal_errors(true);

$doc = new DOMDocument('1.0', 'utf-8');

$doc->loadXML( $xml_string );

$xml_errors = libxml_get_errors();

if (!empty($xml_errors) ) {
    echo 'There is an error in file: ' . $file . '<br>';    
    print_r($xml_errors);
    libxml_clear_errors();
    continue;
}
$filename=$local\u dir$文件
$file\u parts=pathinfo($filename);
如果($file_parts['extension']!='xml')继续;
$xml\u string=file\u get\u contents($filename);
//检查有效的xml
libxml\u使用\u内部错误(true);
$doc=新的DOMDocument('1.0','utf-8');
$doc->loadXML($xml\u字符串);
$xml_errors=libxml_get_errors();
如果(!empty($xml_错误)){
echo“文件中有错误:”.$file.“
”; 打印错误($xml\u错误); libxml_clear_errors(); 继续; }
此代码是处理多个xml文件的循环的一部分,$filename变量设置正确

在本地Wamp服务器上,不会返回任何错误,但当我在开发服务器上运行此操作时,某些xml文件会出现以下错误:

LibXMLError对象(
[级别]=>2
[代码]=>68
[列]=>202
[消息]=>htmlParseEntityRef:没有名字
[文件]=>
[行]=>1
)

有人能解释一下这个错误是什么意思吗

谢谢

Anthony Lavin

在XML中的某个地方有一个空的
&
,它是为字符引用的开头保留的。将其更改为
&


注:

如果使用
$doc->load($filename)
而不是
file\u get\u contents
loadXML
,您将在错误中获得更完整的诊断信息