Prevod PHP pole do XML alebo Simple XML objekt

trieda ArrayToXML

{

/ **

* Hlavné funkcie pre konverziu do XML dokumentu.

* Prekročte do multi dimenzionální poľa a to recrusively prechádza a hromadia sa XML dokument.

*

* @ Param array $ data

* @ Param string $ rootNodeName - to, čo chcete koreňový uzol byť - defaultsto údaje.

* @ Param SimpleXMLElement $ xml - by mal byť používaný rekurzívne
* @ Return string XML

* /

public static funkcie toXml ($ data, $ rootNodeName = 'data', $ xml = null)

{

/ / Vypnúť režim kompatibility ako jednoduchý XML vyvolá rozkývanú, ak to tak nie je.

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 />");

}

/ / Prechádzať dáta prešiel dnu

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

{

/ / Bez numerických klávesov v našej xml, prosím!

if (funkciu is_numeric ($ key))

{

/ / Aby reťazec kľúč ...

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

}

/ / Nahradiť všetko, čo nebolo alfanumerický

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

/ / Ak je ďalšie pole našiel recrusively volaní tejto funkcie

if (is_array ($ value))

{

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

/ / Recrusive volanie.

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

}

iný

{

/ / Pridá jeden uzol.

Sk htmlentities hodnota = ($ value);

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

}

}

/ / Zložiť späť ako reťazec. alebo jednoduchý objekt XML, ak chcete!

return $ xml-> asXML ();

}

}

Môžete zanechať komentár , alebo Trackback z vašich vlastných stránok.

Required

Musíte byť prihlásený , aby ste mohli písať komentár.