Convert Array PHP për Object XML ose Simple XML

klasë ArrayToXML

{

/ **

* Funksioni kryesor për konvertimin në një dokument XML.

* Pass në një grup shumë dimensionale dhe kjo recrusively sythe përmes dhe ndërton një dokument XML.

*

* @ Param array dollarë të dhëna

* @ Param $ string rootNodeName - atë që ju dëshironi nyjen rrënjë të jetë - të dhëna defaultsto.

* @ Param SimpleXMLElement $ XML - duhet të përdoret vetëm Recursively
* @ Kthimi string XML

* /

publik toXml statik funksion ($ dhënave, $ rootNodeName = 'të dhëna', $ xml = null)

{

/ / Fik regjim compatibility si xml thjeshtë hedh një tundet në qoftë se ju nuk e bëni.

në qoftë se (ini_get ('zend.ze1_compatibility_mode') == 1)

{

ini_set ('zend.ze1_compatibility_mode', 0);

}

if ($ xml == null)

{

$ Xml = simplexml_load_string ("<version xml =" Nr encoding = "'1 .0 utf-8"?> <$ RootNodeName /> ");

}

/ / Loop nëpërmjet të dhënave kaloi in

foreach ($ $ dhënave si çelësi => $ vlera)

{

/ / Nuk ka çelësat numerike në XML tonë ju lutem!

if (is_numeric ($ kyç))

{

/ / Të bëjë string kyç ...

$ Kyç = "unknownNode_". (String) $ kyç;

}

/ / Zëvendësojë asgjë nuk alfa numerike

$ Kyç = preg_replace ('/ [^ az] / i', ", $ kyç);

/ / Në qoftë se ka një koleksion të gjetur recrusively quajmë këtë funksion

if (is_array ($ vlera))

{

$ Nyje = $ xml-> addChild ($ kyç);

/ / Recrusive telefonatë.

ArrayToXML :: toXml ($ vlera, $ rootNodeName, $ nyjen);

}

tjetër

{

/ / Të shtuar nyje të vetme.

Dollarë htmlentities = vlera ($ vlera);

$ Xml-> addChild ($ kyç, $ vlera);

}

}

/ / Kalojë përsëri si string. apo objekt të thjeshtë xml qoftë se ju dëshironi!

kthehen $ XML-> asXML ();

}

}

Ju mund të lërë një përgjigje , apo ndjekëse nga your own site.

Lini një Përgjigju

Ju duhet të keni hyrë brenda për të postoj një koment.