2012-03-03 120 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); 
     } 
    } 
}