« »
Feb 06

Si estamos metidos en la “divertida” tarea de programar intérpretes de protocolos XML nos puede ayudar un poco el paquete XML_Beautifier de las PEAR. Se trata de un embellecedor de código que se encarga de limpiar y dejar leíbles los datos XML.

Normalmente en las transacciones XML los datos se transfieren sin saltos de linea, ni espacios extra, etc. Esto, dependiendo de la complejidad del XML, hace casi imposible la lectura por un humano. La clase XML_Beautifier nos ayudará a separar en distintas líneas, tabular correctamente el código entendiendo los tags, simplificar los comentarios, cambiar mayúsculas por minúsculas, reemplazar caracteres por su entidad HTML, etc. Si no quieres estar copiando constantemente los XML en un navegador para poder leer algo te puede ayudar bastante.

Su uso es el siguiente:

[php] require_once ‘XML/Beautifier.php’;
$fmt = new XML_Beautifier();
$resultado = $fmt->formatString($archivo);
if (PEAR::isError($resultado))
echo $resultado->getMessage(); [/php]

En $archivo tenemos el contenido del archivo XML, por ejemplo la respuesta de una petición cURL, y en $resultado obtendremos el XML formateado. También disponemos de la alternativa a formatString() q es:

[php] $resultado = $fmt->formatFile(‘original.xml’, ‘formateado.xml’); [/php]

Con esto se trabaja sobre archivos en disco y no variables. Dispone de distintas opciones de configuración q nos permitirán fijar el número de espacios de los tabs y demás.

Una advertencia acerca de esta clase… Consume bastante memoria y tiempo para realizar la transformación. Es por esto que si estás soportando muchas transacciones XML es aconsejable sólo usar XML_Beatufier en el momento de leer los XML y no siempre.

Ah! por cierto, de momento está sin maintainer, ten controlado donde la usas pq quizás has de dejar de hacerlo… aunque funciona perfectamente.

Be Sociable, Share!
Tagged with:

One Response to “Datos XML bonitos y más leíbles en PHP usando PEAR XML_Beautifier”

  1. […] Acerca de… « Datos XML bonitos y más leíbles en PHP usando PEAR XML_Beautifier […]

Leave a Reply

preload preload preload