Tratar con los errores XML cuando se cargan documentos es una tarea muy sencilla. Utilizando la funcionalidad de libxml es posible suprimir todos los errores XML cuando se carga un documento para luego recorrerlos.
El objeto libXMLError, retornado por libxml_get_errors(), contiene varias propiedades, incluyendo el mensaje, línea y columna (posición) del error.
Ejemplo #1 Cargar un string XML erróneo
<?php
libxml_use_internal_errors(true);
$sxe = simplexml_load_string("<?xml version='1.0'><roto><xml></roto>");
if ($sxe === false) {
echo "Error cargando XML\n";
foreach(libxml_get_errors() as $error) {
echo "\t", $error->message;
}
}
?>
El resultado del ejemplo sería:
Error cargando 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