klassi ArrayToXML
{
/ **
* Il-funzjoni ewlenija għall-konverżjoni għal dokument XML.
* Pass fil-firxa dimensjonali multi u dan recrusively loops permezz ta 'u tibni dokument XML.
*
* Firxa param @ $ data
* @ Param string $ rootNodeName - dak li trid il-node għerq li tkun - data defaultsto.
* SimpleXMLElement param @ $ xml - għandu jintuża biss recursively
* @ Ritorn string XML
* /
pubbliku statiku funzjoni toXml ($ data, $ rootNodeName = "data", $ xml = null)
{
/ / Itfi modalità kompatibilità bħala xml sempliċi throws wobbly jekk inti ma.
jekk (ini_get ("zend.ze1_compatibility_mode") == 1)
{
ini_set ("zend.ze1_compatibility_mode", 0);
}
jekk ($ xml == null)
{
$ Xml = simplexml_load_string ("<verżjoni xml =" kodifikazzjoni = "'1 0.0 UTF-8"?> <$ RootNodeName /> ");
}
/ / Loop permezz tad-data mgħoddija pulzieri
foreach ($ data kif $ ewlieni = valur> $)
{
/ / L-ebda keys numeriċi fil xml tagħna jekk jogħġbok!
jekk (is_numeric ($ ewlieni))
{
/ / Jagħmlu sekwenza ewlenija ...
$ Ewlieni = "unknownNode_". (String) $ ewlenija;
}
/ / Tissostitwixxi xi ħaġa mhux alfa numerika
$ Ewlieni = preg_replace ("/ [^ az] / i", ", $ prinċipali);
/ / Jekk hemm ieħor firxa tinstab recrusively sejħa din il-funzjoni
jekk (is_array ($ valur))
{
$ Node = $ xml-> addChild ($ prinċipali);
/ / Recrusive sejħa.
ArrayToXML :: toXml ($ valur, $ rootNodeName, $ node);
}
inkella
{
/ / Żid node wieħed.
Valur htmlentities $ = ($ valur);
$ Xml-> addChild ($ ewlenin, $ valur);
}
}
/ / Tgħaddi lura sekwenza. jew oġġett xml sempliċi jekk trid!
ritorn $ xml-> asXML ();
}
}













































