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 ();
}
}













































