Работа с ошибками XML

Работа с ошибками XML при загрузке документов является очень простой задачей. Использование функциональности libxml позволяет подавить все XML-ошибки при загрузке документа и затем обработать их.

Объект libXMLError, возвращаемый libxml_get_errors(), содержит несколько свойств, в том числе сообщение, номер строки и колонку (позицию) этой ошибки.

Пример #1 Загрузка синтаксически неправильной XML-строки

<?php
libxml_use_internal_errors
(true);
$sxe simplexml_load_string("<?xml version='1.0'><broken><xml></broken>");
if (!
$sxe) {
    echo 
"Ошибка загрузки XML\n";
    foreach(
libxml_get_errors() as $error) {
        echo 
"\t"$error->message;
    }
}
?>

Результат выполнения данного примера:

Ошибка загрузки XML
    Blank needed here
    parsing XML declaration: '?>' expected
    Opening and ending tag mismatch: xml line 1 and broken
    Premature end of data in tag broken line 1