我有一个PHP脚本,可以加载位于磁盘本地的压缩XML文件。如果XML语法正常,则加载XML并进行进一步的操作。但是,当XML文件语法错误时,脚本会生成警告。如果脚本无法加载XML文件而不生成任何警告,我希望脚本退出。请帮忙! 提前致谢。
$xml = simplexml_load_file("compress.zlib://local.xml.gz");
if ($xml=== false)
{
echo "Failed loading XML\n";
foreach(libxml_get_errors() as $error)
{
echo "\t", $error->message;
}
exit(0);
}
else
{
echo "Success!Xml File is loaded <br/><br/>";
}
在我的代码中,脚本正在退出,但在加载XML文件的行上有警告。
答案 0 :(得分:0)
在加载xml文件之前添加对libxml_use_internal_errors
的调用。这是片段:
libxml_use_internal_errors(true);
$xml = simplexml_load_file("compress.zlib://local.xml.gz");
这将 禁用libxml错误并允许用户根据需要获取错误信息 。您可以在php doc
中找到更多信息答案 1 :(得分:0)
您是否考虑过尝试这样的事情?
libxml_use_internal_errors(true);
if (file_exists('compress.zlib://local.xml.gz')) {
$xml = simplexml_load_file('compress.zlib://local.xml.gz');
if ($xml === false) {
echo "Failed loading XML";
foreach(libxml_get_errors() as $error) {
echo "\t", $error->message;
}
} else {
echo "Success! XML file is loaded <br/><br/>";
}
} else {
echo "XML does not exist";
}