klassi ArrayToXML
{
/ **
* Põhiülesandeks ümberehitamiseks, et XML-dokument.
* Pass mitme mõõtmeline massiiv ja seda recrusively silmad läbi ja ehitab üles XML dokumenti.
*
* @ Param array $ data
* @ Param string $ rootNodeName - mida sa tahad root sõlme olla - defaultsto andmeid.
* @ Param SimpleXMLElement $ xml - tuleks kasutada ainult rekursiivselt
* @ Tagasi string XML
* /
avaliku staatilise funktsiooni toXml ($ data, $ rootNodeName = 'andmed', $ xml = null)
{
/ / Välja lülitada ühilduvusrežiimis nii lihtne xml viskab ebakindel kui te seda ei tee.
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,0" encoding = "utf-8"?> <$ RootNodeName /> ");
}
/ / Ahela kaudu edastatud andmete sisse
foreach ($ data as $ key => $ value)
{
/ / Ei numbriklahvid meie xml palun!
if (is_numeric ($ võti))
{
/ / Teha string võti ...
$ Key = "unknownNode_". (String) $ võti;
}
/ / Asemel midagi ei alfa numbriline
$ Key = preg_replace ("/ [^ az] / i", "$ võti);
/ / Kui on olemas teine array leitud recrusively nimetame seda funktsiooni
if (is_array ($ väärtuse))
{
$ Node = $ XML-> addChild ($ võti);
/ / Recrusive kõne.
ArrayToXML :: toXml ($ väärtus, $ rootNodeName, $ node);
}
teine
{
/ / Lisada ühe sõlme.
$ Value = htmlentities ($ value);
$ Xml-> addChild ($ võti, $ value);
}
}
/ / Edasi tagasi, kui string. või lihtsalt xml objekti, kui soovite!
tagasi $ xml-> asXML ();
}
}













































