osztály ArrayToXML
{
/ **
* A fő funkció átkerül egy XML dokumentum.
* Pass egy több dimenziós tömb, és ez recrusively hurkok segítségével építi fel, és egy XML dokumentum.
*
* @ Param array $ data
* @ Param string $ rootNodeName - mit akar a gyökér csomópont lesz - defaultsto adatok.
* @ Param $ xml SimpleXMLElement - csak akkor alkalmazható rekurzív
* @ Return húr XML
* /
public static függvény toXml ($ data, $ rootNodeName = "adatok", $ xml = null)
{
/ / Kikapcsolja a kompatibilitási mód egyszerű xml dob egy reszketeg, ha nem.
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 />");
}
/ / Hurok keresztül továbbított adat be
foreach ($ data as $ kulcs => $ value)
{
/ / Nem numerikus gombokkal a mi xml kérem!
if (is_numeric ($ kulcs))
{
/ / Hogy a húr gombot ...
$ Key = "unknownNode_". (String) $ kulcs;
}
/ / Csere semmit nem alfanumerikus
$ Key = preg_replace ('/ [^ az] / i', ", $ kulcs);
/ / Ha van egy másik tömbben található recrusively hívják ezt a funkciót
if (is_array ($ value))
{
$ Node = $ xml-> addChild ($ kulcs);
/ / Recrusive hívást.
ArrayToXML :: toXml ($ value, $ rootNodeName, $ node);
}
más
{
/ / Add egyes csomópont.
$ Value = htmlentities ($ value);
$ Xml-> addChild ($ key, $ value);
}
}
/ / Pass vissza string. vagy egyszerű xml objektumot, ha akarsz!
return $ xml-> asXML ();
}
}













































