Обнаружить ошибку с SimpleXMLElement? - PullRequest
0 голосов
/ 16 ноября 2011

Я хочу быть в состоянии обнаружить ошибку с 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 Ответ

1 голос
/ 16 ноября 2011

Исключения могут быть обнаружены с помощью конструкции try catch:

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

Для проблем HTTP / загрузки я предлагаю использовать комбинацию:

  1. CURL для проверки правильного ответа
  2. simplexml_load_string .parse ответа и перехвата всех предупреждений с помощью libxml_use_internal_errors
...