sınıf ArrayToXML
{
/ **
* Bir XML belgesine dönüştürmek için ana fonksiyonu.
* Bir çok boyutlu dizide Pass ve bu recrusively döngüsü ve bir XML belgesi oluşturur.
*
* @ Param array $ veri
* @ Param string $ rootNodeName - defaultsto veri - Eğer kök düğüm olmak istiyorum ne.
* @ Param SimpleXMLElement $ xml - sadece ardışık kullanılması gerektiğini
* @ Return string XML
* /
public static function toXML (= 'data', $ xml = null $ veri, $ rootNodeName)
{
Aksi takdirde basit bir xml titrek atar gibi / / uyumluluk modunu kapatın.
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 /> ");
}
/ Veri üzerinden / döngü içeri geçti
foreach ($ veri as $ anahtar => $ değer)
{
/ / Bizim xml hiçbir rakam tuşlarını lütfen!
if (is_numeric ($ key))
{
/ / String anahtar yapmak ...
$ Anahtar = "unknownNode_". Tuşu (string) $;
}
/ / Bir şey değiştirmez alfa nümerik
$ Anahtar = preg_replace ('/ [^ az] / i ", $ key);
/ / Recrusively Bu fonksiyonu çağırmak bulundu başka bir dizi olup olmadığını
if (is_array ($ değer))
{
$ Node = $ xml-> addChild ($ key);
Çağrı / / recrusive.
ArrayToXML :: toXML ($ değer, $ rootNodeName, $ node);
}
başka
{
/ / Tek bir düğüm ekleyin.
$ Değer = htmlentities ($ değer);
$ Xml-> addChild ($ anahtar, $ değer);
}
}
/ / String olarak geri pas. veya basit xml nesne isterseniz!
return $ xml-> asXML ();
}
}













































