使用SimpleXMLElement检测错误?

时间:2011-11-16 15:30:44

标签: php simplexml

我希望能够使用SimpleXMLElement检测错误,错误是:

failed to open HTTP stream
failed to load external entity
Uncaught exception 'Exception' with message 'String could not be parsed as XML' 

我有以下代码尝试检测错误。

$xml =  new SimpleXMLElement("https://mail.google.com/mail/feed/atom",null,true);
if ($xml === FALSE) {
echo "Wrong username/password combination.";
}

这不起作用....如何使错误检测工作?

1 个答案:

答案 0 :(得分:1)

可以使用try catch构造捕获异常:

try {
     $oXml 
}
catch(Excepton $oException) {
   // Something went wrong!
}

对于HTTP / Load问题,我建议您使用以下组合:

  1. CURL检查有效回复
  2. simplexml_load_string。解析响应,并使用libxml_use_internal_errors
  3. 捕获任何警告