当传递错误的XML时,PHP XML验证会引发致命的异常

当传递错误的XML时,PHP XML验证会引发致命的异常,php,xml,validation,Php,Xml,Validation,我有一个快速的函数来加载XML字符串,并根据模式验证它。当给定格式良好的XML时,它的行为是完美的 然而,当我弄乱了xml语法本身时,php抛出了一个致命错误并终止了脚本。我正在检查loadXML函数的返回值,我想要一个简单的true/false。如果xml是脏的,loadXML()将失败,我可以简单地返回验证失败。我尝试设置一个空的错误处理程序,但它仍然会终止脚本 有什么想法吗?我需要降级错误还是什么 包含参考代码(PHP): 试一试 libxml_use_internal_errors(tr

我有一个快速的函数来加载XML字符串,并根据模式验证它。当给定格式良好的XML时,它的行为是完美的

然而,当我弄乱了xml语法本身时,php抛出了一个致命错误并终止了脚本。我正在检查loadXML函数的返回值,我想要一个简单的true/false。如果xml是脏的,loadXML()将失败,我可以简单地返回验证失败。我尝试设置一个空的错误处理程序,但它仍然会终止脚本

有什么想法吗?我需要降级错误还是什么

包含参考代码(PHP):

试一试

libxml_use_internal_errors(true);
$xdoc->loadXml($yourXml);
libxml_clear_errors();
return $xdoc->schemaValidate($schema)
这将禁用libxml错误,并允许用户根据需要获取错误信息(或清除错误)


请参见

致命错误的信息是什么?
libxml_use_internal_errors(true);
$xdoc->loadXml($yourXml);
libxml_clear_errors();
return $xdoc->schemaValidate($schema)