Konwersja tablicy PHP do XML lub Simple obiekt XML

klasa ArrayToXML

{

/ **

* Główną funkcją konwersji do dokumentu XML.

* Pass multi tablicy wymiarowej i to recrusively pętli i buduje dokumentu XML.

*

* @ Param array $ dane

* @ Param string $ rootNodeName - co chcesz Korzeń być - dane defaultsto.

* @ Param SimpleXMLElement $ xml - powinny być używane tylko rekurencyjnie
* @ Return ciąg XML

* /

public static toxml funkcja ($ dane, $ rootNodeName = 'dane', $ xml = null)

{

/ / Wyłączyć tryb zgodności tak proste xml rzuca chwiejne jeśli tego nie zrobisz.

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

}

/ / Pętla dane przekazywane w

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

{

/ / Nie klawisze numeryczne w naszym xml proszę!

if (is_numeric ($ key))

{

/ / Make ciąg klucz ...

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

}

/ / Zamiana nic nie alfanumeryczny

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

/ / Jeśli istnieje inna tablica znaleźć recrusively wywołać tę funkcję

if (is_array ($ value))

{

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

/ / Recrusive połączenia.

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

}

więcej

{

/ / Dodanie pojedynczego węzła.

Zł htmlentities = wartość ($ value);

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

}

}

/ / Przechodzi z powrotem jako ciąg znaków. lub prosty obiekt XML, jeśli chcesz!

return $ xml-> asXML ();

}

}

Możesz zostawić odpowiedź , lub trackback ze swojej własnej strony.

Pozostaw odpowiedź

Musisz być zalogowany aby dodać komentarz.