2012-03-03 161 views
9

將JSON或數組對象轉換爲XML最簡單的方法是什麼?也許我正在尋找所有錯誤的地方,但我沒有找到一個體面的答案讓我走上正軌。這是我必須以某種方式建立自己嗎?或者是否有像json_encode/json_decode這樣的數組或json對象,並將其作爲xml對象彈出?將PHP JSON或數組轉換爲XML

+0

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

+0

你想如何將JSON /數組轉換爲XML?你能給個例子嗎? – Gumbo 2012-03-03 09:17:02

回答

4

我不確定最簡單的方法。我看到它們都相對簡單。

這是一個主題涵蓋array to xml - How to convert array to SimpleXML和許多頁面覆蓋json to xml可以在谷歌找到,所以我認爲這幾乎是一個品味的問題。

6

這是我的JSON到XML轉換的變體。 我使用json_decode得到一個數組從JSON()函數:

$array = json_decode ($someJsonString, true); 

然後我數組XML轉換與我arrayToXml()函數:

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

這裏是我的arrayToXml()函數:

/** 
* 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); 
     } 
    } 
}