Lidando com erros XML
Lidar com erros de XML ao carregar documentos é uma tarefa muito simples. Usando a funcionalidade libxml é possível suprimir todos os erros XML ao carregar o documento e então iterar sobre os erros.
O objeto libXMLError, retornado por libxml_get_errors(), contém várias propriedades incluindo a mensagem, a linha e a coluna (posição) do erro.
Example #1 Carregando string XML quebrada
<?php
libxml_use_internal_errors(true);
$sxe = simplexml_load_string("<?xml version='1.0'><quebrada><xml></quebrada>");
if ($sxe === false) {
echo "Falha ao carregar o XML\n";
foreach(libxml_get_errors() as $error) {
echo "\t", $error->message;
}
}
?>
O exemplo acima produzirá:
Falha ao carregar o XML Blank needed here parsing XML declaration: '?>' expected Opening and ending tag mismatch: xml line 1 and quebrada Premature end of data in tag quebrada line 1