Ikkonverti Array PHP għan XML XML jew sempliċi

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 ();

}

}

Tista ' leave ta 'tweġiba , jew trackback mis-sit tiegħek.

Ħalli Irrispondi

Inti trid tkun illoggjat għal post kumment.