Konverteeri PHP Array XML või lihtsalt XML Object

klassi ArrayToXML

{

/ **

* Põhiülesandeks ümberehitamiseks, et XML-dokument.

* Pass mitme mõõtmeline massiiv ja seda recrusively silmad läbi ja ehitab üles XML dokumenti.

*

* @ Param array $ data

* @ Param string $ rootNodeName - mida sa tahad root sõlme olla - defaultsto andmeid.

* @ Param SimpleXMLElement $ xml - tuleks kasutada ainult rekursiivselt
* @ Tagasi string XML

* /

avaliku staatilise funktsiooni toXml ($ data, $ rootNodeName = 'andmed', $ xml = null)

{

/ / Välja lülitada ühilduvusrežiimis nii lihtne xml viskab ebakindel kui te seda ei tee.

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,0" encoding = "utf-8"?> <$ RootNodeName /> ");

}

/ / Ahela kaudu edastatud andmete sisse

foreach ($ data as $ key => $ value)

{

/ / Ei numbriklahvid meie xml palun!

if (is_numeric ($ võti))

{

/ / Teha string võti ...

$ Key = "unknownNode_". (String) $ võti;

}

/ / Asemel midagi ei alfa numbriline

$ Key = preg_replace ("/ [^ az] / i", "$ võti);

/ / Kui on olemas teine ​​array leitud recrusively nimetame seda funktsiooni

if (is_array ($ väärtuse))

{

$ Node = $ XML-> addChild ($ võti);

/ / Recrusive kõne.

ArrayToXML :: toXml ($ väärtus, $ rootNodeName, $ node);

}

teine

{

/ / Lisada ühe sõlme.

$ Value = htmlentities ($ value);

$ Xml-> addChild ($ võti, $ value);

}

}

/ / Edasi tagasi, kui string. või lihtsalt xml objekti, kui soovite!

tagasi $ xml-> asXML ();

}

}

Võite jätta vastuse , või Trackback teie oma saidil.

Jäta vastus

Sa pead olema sisse logitud , et kommenteerida.