2012-03-03 17 views
9

JSON veya Array nesnesini almanın ve onu XML'e dönüştürmenin en kolay yolu nedir? Belki de bütün yanlış yerlere bakıyorum ama bunu yapmam için beni takip etmem için iyi bir cevap bulamıyorum. Bir şekilde kendimi inşa etmek zorunda olduğum bir şey mi? Veya json_encode/json_decode gibi bir dizi veya json nesnesini alacak bir şey var ve bir xml nesnesi olarak ust?PHP JSON veya XML'ye Array

+0

http://stackoverflow.com/questions/1397036/how-to-convert-array-to-simplexml – linuxeasy

+0

Nasıl bir XML JSON/dizi dönüştürmek isteyeyim? Bir örnek verebilir misin? – Gumbo

cevap

4

En kolay yoldan emin değilim. İkisi de gördüğüm kadar göreceli olarak basit.

Burada- How to convert array to SimpleXML kapsayan bir konu ve json to xml kapsayan birçok sayfa google'da bulunabilir, bu yüzden oldukça fazla bir tat meselesi olduğunu varsayalım.

6

İşte JSON'dan XML'e dönüştürme işleminin bir çeşidi. Ben json_decode kullanarak JSON'dan dizisini almak() fonksiyonu:

$array = json_decode ($someJsonString, true); 

Sonra benim arrayToXml ile XML dizi dönüştürmek() fonksiyonu:

İşte
$xml = new SimpleXMLElement('<root/>'); 
$this->arrayToXml($array, $xml); 

benim arrayToXml() fonksiyonudur:

/** 
* Convert an array to XML 
* @param array $array 
* @param SimpleXMLElement $xml 
*/ 
function arrayToXml($array, &$xml){ 
    foreach ($array as $key => $value) { 
     if(is_array($value)){ 
      if(is_int($key)){ 
       $key = "e"; 
      } 
      $label = $xml->addChild($key); 
      $this->arrayToXml($value, $label); 
     } 
     else { 
      $xml->addChild($key, $value); 
     } 
    } 
}