El manejo de errores XML al cargar un documento es una tarea sencilla. Utilizando las funcionalidades libxml, es posible suprimir todos los errores XML al cargar un documento, y luego recorrerlos.
El objeto libXMLError, devuelto por la función libxml_get_errors(), contiene varias propiedades como el mensaje, la línea y la columna (posición) del error.
Ejemplo #1 Carga de cadenas XML rotas
<?php
libxml_use_internal_errors(true);
$sxe = simplexml_load_string("<?xml version='1.0'><broken><xml></broken>");
if ($sxe === false) {
echo "Error al cargar el XML\n";
foreach(libxml_get_errors() as $error) {
echo "\t", $error->message;
}
}
?>
El resultado del ejemplo sería:
Error al cargar el 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