我希望处理一种情况,即我尝试检索的XML文件尚未就绪或不可用。
我正在使用:
$object = simplexml_load_string($file);
有时,我收到以下错误:
'Start tag expected, '<' not found in etc...'
我尝试了以下操作,但它不起作用。
if($object === false){
// code here
}
答案 0 :(得分:0)
simplexml_load_string可以返回false。它也可以发出警告。
来自manual:
返回类SimpleXMLElement的对象,其属性包含xml文档中保存的数据,如果失败则返回FALSE。
为XML数据中发现的每个错误生成E_WARNING错误消息。
使用libxml_use_internal_errors()来抑制所有XML错误,然后使用libxml_get_errors()来迭代它们。
// suppress warnings so we can handle them ourselves
libxml_use_internal_errors(true);
$object = simplexml_load_string($file);
if ($object === false) {
// oh no
$errors = libxml_get_errors();
// do something with them
print_r($errors);
// really you'll want to loop over them and handle them as necessary for your needs
}
有关libxml_get_errors
here的更多详情。