Muunna PHP Array XML tai Simple XML Object

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

}

}

Voit jättää vastauksen , tai trackback omalta sivustoltasi.

Jätä vastaus

Sinun täytyy olla kirjautuneena kommentoidaksesi.