razred ArrayToXML
{
/ **
* Glavna funkcija za pretvorbo v XML dokument.
* Pass v več dimenzionalni array in to recrusively zanke, skozi in gradi dokument XML.
*
* @ Param cela dolarjev podatki
* @ Param string rootNodeName - tisto, kar želite, da je vozlišče koren - defaultsto podatkov.
* @ Param SimpleXMLElement $ XML - se sme uporabljati samo rekurzivno
* @ Vrnitev niz XML
* /
public static funkcijo toXml ($ podatki, $ rootNodeName = "podatki", $ xml = null)
{
/ / Izklop združljivostni način tako enostavno xml vrže Negotov če ne.
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 To encoding =" utf-8 '?> <$ RootNodeName /> ");
}
/ / Zanka po podatkih opravili noter
foreach ($ podatki, $ key => $ vrednost)
{
/ / Ne številčne tipke v naši xml prosim!
if (is_numeric ($ ključ))
{
/ / Da niz ključ ...
$ Key = "unknownNode_". (Niz) $ ključ;
}
/ / Zamenjajte ničesar ne alfa numerični
$ Key = preg_replace ('/ [^ az] / i "," $ ključ);
/ / Če obstaja drug nabor našel recrusively imenujemo to funkcijo
if (is_array ($ vrednost))
{
$ $ = Vozlišče XML-> addChild ($ ključ);
/ / Recrusive klic.
ArrayToXML :: toXml ($ vrednost, $ rootNodeName, $ vozlišče);
}
drugega
{
/ / Dodamo eno vozlišče.
$ Vrednost = htmlentities ($ vrednost);
$ Xml-> addChild ($ ključ, $ vrednost);
}
}
/ / Prehod nazaj v nizu. ali preprosto xml objekt, če želite!
vrnitev $ XML-> asXML ();
}
}













































