Pretvarjanje PHP array XML ali XML Simple Object

razred ArrayToXML

{

/ **

* Glavna funkcija za pretvorbo v XML dokument.

* Pass v več dimenzionalni array in to recrusively zanke, skozi in gradi dokument XML.

*

* @ Param cela dolarjev podatki

* @ Param string rootNodeName - tisto, kar želite, da je vozlišče koren - defaultsto podatkov.

* @ Param SimpleXMLElement $ XML - se sme uporabljati samo rekurzivno
* @ Vrnitev niz XML

* /

public static funkcijo toXml ($ podatki, $ rootNodeName = "podatki", $ xml = null)

{

/ / Izklop združljivostni način tako enostavno xml vrže Negotov če ne.

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

}

/ / Zanka po podatkih opravili noter

foreach ($ podatki, $ key => $ vrednost)

{

/ / Ne številčne tipke v naši xml prosim!

if (is_numeric ($ ključ))

{

/ / Da niz ključ ...

$ Key = "unknownNode_". (Niz) $ ključ;

}

/ / Zamenjajte ničesar ne alfa numerični

$ Key = preg_replace ('/ [^ az] / i "," $ ključ);

/ / Če obstaja drug nabor našel recrusively imenujemo to funkcijo

if (is_array ($ vrednost))

{

$ $ = Vozlišče XML-> addChild ($ ključ);

/ / Recrusive klic.

ArrayToXML :: toXml ($ vrednost, $ rootNodeName, $ vozlišče);

}

drugega

{

/ / Dodamo eno vozlišče.

$ Vrednost = htmlentities ($ vrednost);

$ Xml-> addChild ($ ključ, $ vrednost);

}

}

/ / Prehod nazaj v nizu. ali preprosto xml objekt, če želite!

vrnitev $ XML-> asXML ();

}

}

Lahko pustite odgovor , ali trackback iz vaše lastne strani.

Pustite Odgovori

Morate biti prijavljeni za objavo komentarja.