Используя php, я хочу загрузить XML-файлы с нескольких веб-сайтов и предотвратить ошибки, если один из них не работает. Я использую этот код для доступа к URL.
function get_xml($url){
$xmlDoc = new DOMDocument();
$xmlDoc->load($url); // This is the line causing errors
$channel=$xmlDoc->getElementsByTagName('channel')->item(0);
...
Если на $ url нет доступной ленты новостей xml, я получаю множество сообщений об ошибках, таких как:
Предупреждение: DOMDocument :: load (): после публичного идентификатора требуется пространство
Предупреждение: DOMDocument :: load (): SystemLiteral "или" ожидается
Предупреждение: DOMDocument :: load (): SYSTEM или PUBLIC, URI отсутствует
Предупреждение: DOMDocument :: load (): Несоответствие открывающего и завершающего тега: строка ссылки 5 и заголовок
Что я могу сделать, чтобы предотвратить загрузку $ url, если канал недоступен?
Я пробовал:
if(file_exists($url)){
$xmlDoc->load('$url');
}
И вещи с fopen и @load, но я вполне мог бы использовать их неправильно.