klasė ArrayToXML
{
/ **
* Pagrindinis funkcija konvertuoti į XML dokumentą.
* Pereiti į daugelio matmenų masyvo ir tai recrusively kilpos, per ir sukuria XML dokumentą.
*
* @ Param array $ duomenys
* @ Param string $ rootNodeName - tai, ko norite, šakninis mazgas būti - defaultsto duomenys.
* @ Param SimpleXMLElement $ xml - turi būti naudojami tik rekursyviai
* @ Grąža eilutė XML
* /
visuomenės statinis funkcija toXml, ($ duomenys, $ rootNodeName = 'duomenys', $ xml = null)
{
/ / Išjungti suderinamumo režimą kaip paprastas XML meta klibantis, jei jums nereikia.
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 />");
}
/ / Ciklas per duomenų išlaikė.
foreach ($ duomenys, $ key => $ reikšmė)
{
/ / Ne skaitmeniniai klavišai mūsų XML, prašome!
jei "(is_numeric ($ raktas))
{
/ / Eilutė raktas ...
$ Raktas = "unknownNode_". (String) $ raktas;
}
/ / Pakeisti nieko ne alfa skaitinė
$ Raktas = preg_replace ('/ [^ az] / i ",", $ key);
/ / Jei yra kitas masyvas, rasta recrusively skambinti šią funkciją
jei (is_array ($ value))
{
$ Node = $ xml-> addChild ($ key);
/ / Recrusive skambutis.
ArrayToXML :: toXml ($ vertė, $ rootNodeName, $ mazgas);
}
kitas
{
/ / Pridėti vieną mazgą.
$ Value = HtmlEntities ($ vertė);
$ Xml-> addChild ($ key, $ value);
}
}
/ / Pereiti atgal eilutę. ar paprastas XML objektas, jei norite!
grįžti $ xml-> asXML ();
}
}













































