trieda ArrayToXML
{
/ **
* Hlavné funkcie pre konverziu do XML dokumentu.
* Prekročte do multi dimenzionální poľa a to recrusively prechádza a hromadia sa XML dokument.
*
* @ Param array $ data
* @ Param string $ rootNodeName - to, čo chcete koreňový uzol byť - defaultsto údaje.
* @ Param SimpleXMLElement $ xml - by mal byť používaný rekurzívne
* @ Return string XML
* /
public static funkcie toXml ($ data, $ rootNodeName = 'data', $ xml = null)
{
/ / Vypnúť režim kompatibility ako jednoduchý XML vyvolá rozkývanú, ak to tak nie je.
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 />");
}
/ / Prechádzať dáta prešiel dnu
foreach ($ data as $ key => $ value)
{
/ / Bez numerických klávesov v našej xml, prosím!
if (funkciu is_numeric ($ key))
{
/ / Aby reťazec kľúč ...
$ Key = "unknownNode_". (String) $ key;
}
/ / Nahradiť všetko, čo nebolo alfanumerický
$ Key = preg_replace ('/ [^ az] / i ",", $ key);
/ / Ak je ďalšie pole našiel recrusively volaní tejto funkcie
if (is_array ($ value))
{
$ Node = $ xml-> addChild ($ key);
/ / Recrusive volanie.
ArrayToXML :: toXml ($ value, $ rootNodeName, $ node);
}
iný
{
/ / Pridá jeden uzol.
Sk htmlentities hodnota = ($ value);
$ Xml-> addChild ($ key, $ value);
}
}
/ / Zložiť späť ako reťazec. alebo jednoduchý objekt XML, ak chcete!
return $ xml-> asXML ();
}
}













































