Librería para que MySQL devuelva XML

Ya hace tiempo comentamos como hacer para que MySQL devolviera los datos en formato XML mediante procedimientos almacenados. En este caso se trata de la librería lib_mysqludf_xql que permite mediante un conjunto de funciones mostrar la salida de las consultas en formato XML, sin necesidad de utilizar lenguajes de programación tipo PHP o Ruby.

Esta librería usa xmlwriter de libxml2, la cual es una librería muy rápida sin caché, además escapa directamente las entidades XML y trata de forma muy eficiente la memoria cuando el contenido crece.

Un ejemplo de uso sería el siguiente:

SELECT xql_agg('classes' AS `xql:root`,
xql_element('class', null, concat(grade, suffix) AS name, teacher))
FROM schoolclass;

Y el resultado sería el siguiente:

<classes>
<class name="1A" teacher="Pullen"/>
<class name="2A" teacher="Berg"/>
<class name="3A" teacher="Heijden"/>
<class name="3B" teacher="Ven"/>
<class name="4A" teacher="Theunissen"/>
<class name="4B" teacher="Huizingh"/>
<class name="4C" teacher="Groot"/>
<class name="5A" teacher="Brongers"/>
<class name="5B" teacher="Zijlstra"/>
<class name="6A" teacher="Brommer"/>
<class name="7A" teacher="Nimwegen"/>
<class name="7B" teacher="Lede"/>
<class name="8A" teacher="Spaansen"/>
<class name="8B" teacher="Wiersma"/>
</classes>

lib_mysqludf_xql

Similar Posts