Работа с ошибками 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 === false) {
    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