clase ArrayToXML
{
/ **
* La función principal para la conversión de un documento XML.
* Pasar de una matriz multidimensional y esto recrusively recorre y construye un documento XML.
*
* @ Param array $ data
* @ Param string $ rootNodeName - lo que quiere el nodo raíz de ser - los datos defaultsto.
* @ Param $ xml SimpleXMLElement - sólo se debe utilizar de forma recursiva
* @ Return cadena XML
* /
ToXml public static function ($ data, $ rootNodeName = "datos", $ xml = null)
{
/ / Desactivar el modo de compatibilidad tan simple xml lanza una tambaleante si no lo hace.
if (ini_get ('zend.ze1_compatibility_mode') == 1)
{
ini_set ('zend.ze1_compatibility_mode', 0);
}
if ($ xml == null)
{
$ Xml = simplexml_load_string ("<xml version = '1 .0 'encoding =" UTF-8 "?> <$ RootNodeName />");
}
/ / Iterar a través de los datos transmitidos pulgadas
foreach ($ datos as $ key => $ valor)
{
/ / No hay teclas numéricas en nuestro xml por favor!
if (is_numeric ($ key))
{
/ / Asegurar que la cadena clave ...
$ Key = "unknownNode_". (String) $ clave;
}
/ / Reemplazar todo lo que no alfanumérico
$ Key = preg_replace ('/ [^ az] / i', ", $ clave);
/ / Si no hay otra matriz encontrado recrusively llamar a esta función
if (is_array ($ valor))
{
$ Nodo = $ xml-> addChild ($ key);
/ / Recrusive llamada.
ArrayToXML :: ToXml ($ valor, $ rootNodeName, $ node);
}
más
{
/ / Añadir un solo nodo.
US $ htmlentities = valor ($ valor);
$ Xml-> addChild ($ key, $ value);
}
}
/ / Pasar de nuevo como una cadena. o un objeto XML sencillo si quieres!
return $ xml-> asXML ();
}
}













































