luokka ArrayToXML
{
/ **
* Tärkein funktio muuntaa XML-dokumentti.
* Pass ja monitahoisia jono ja tämä recrusively silmukoita läpi ja rakentaa XML-dokumentti.
*
* @ Param array $ data
* @ Param string $ rootNodeName - mitä haluat juuri solmu on - defaultsto tiedot.
* @ Param SimpleXMLElement $ xml - tulisi käyttää vain rekursiivisesti
* @ Return merkkijono XML
* /
public static toiminto toXml ($ data, $ rootNodeName = 'data', $ xml = null)
{
/ / Poista yhteensopivuustilassa niin yksinkertainen xml heittää huojuva jos et.
Jos (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 />");
}
/ / Silmukan läpi luovuttamien tietojen sisään
foreach ($ tiedot $ key => $ value)
{
/ / Ei numeronäppäimillä meidän xml kiitos!
if (is_numeric ($ avain))
{
/ / Tee string avain ...
$ Avain = "unknownNode_". (String) $ key;
}
/ / Vaihda mitään ei alfanumeerinen
$ Avain = preg_replace ("/ [^ az] / i", ", $ avain);
/ / Jos on olemassa toinen taulukko löytyy recrusively kutsuvat tätä toimintoa
if (is_array ($ arvo))
{
$ Node = $ xml-> addChild ($ avain);
/ / Recrusive puhelu.
ArrayToXML :: toXml ($ value, $ rootNodeName, $ node);
}
muu
{
/ / Add yksi solmu.
$ Arvo = htmlentities ($ arvo);
$ Xml-> addChild ($ avain, $ arvo);
}
}
/ / Siirtää takaisin merkkijono. tai yksinkertainen xml kohde, jos haluat!
palauttaa $ xml-> asXML ();
}
}













































