Convert Array PHP XML vagy egyszerű XML objektum

osztály ArrayToXML

{

/ **

* A fő funkció átkerül egy XML dokumentum.

* Pass egy több dimenziós tömb, és ez recrusively hurkok segítségével építi fel, és egy XML dokumentum.

*

* @ Param array $ data

* @ Param string $ rootNodeName - mit akar a gyökér csomópont lesz - defaultsto adatok.

* @ Param $ xml SimpleXMLElement - csak akkor alkalmazható rekurzív
* @ Return húr XML

* /

public static függvény toXml ($ data, $ rootNodeName = "adatok", $ xml = null)

{

/ / Kikapcsolja a kompatibilitási mód egyszerű xml dob egy reszketeg, ha nem.

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

}

/ / Hurok keresztül továbbított adat be

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

{

/ / Nem numerikus gombokkal a mi xml kérem!

if (is_numeric ($ kulcs))

{

/ / Hogy a húr gombot ...

$ Key = "unknownNode_". (String) $ kulcs;

}

/ / Csere semmit nem alfanumerikus

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

/ / Ha van egy másik tömbben található recrusively hívják ezt a funkciót

if (is_array ($ value))

{

$ Node = $ xml-> addChild ($ kulcs);

/ / Recrusive hívást.

ArrayToXML :: toXml ($ value, $ rootNodeName, $ node);

}

más

{

/ / Add egyes csomópont.

$ Value = htmlentities ($ value);

$ Xml-> addChild ($ key, $ value);

}

}

/ / Pass vissza string. vagy egyszerű xml objektumot, ha akarsz!

return $ xml-> asXML ();

}

}

Tudod hagy egy válasz , vagy trackback a saját honlapján.

Hagy egy Válaszol

Be kell jelentkezned , hogy megoszthassa véleményét.