最简单的方法是将JSON或Array对象转换为XML。也许我在所有错误的地方查找,但我没有找到一个像样的答案来帮助我迈出这一步。这是我必须自己构建的东西吗?还是有类似json_encode/json_decode的东西,可以将数组或JSON对象直接转换成XML对象?
这是我将JSON转换为XML的变体。
我使用json_decode()函数从JSON中获取数组:
$array = json_decode ($someJsonString, true);
然后我使用我的arrayToXml()函数将数组转换为XML:
$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_int($key)){
$key = "e";
}
if(is_array($value)){
$label = $xml->addChild($key);
$this->arrayToXml($value, $label);
}
else {
$xml->addChild($key, $value);
}
}
}
我不确定最简单的方法。在我看来,两种方法都相对简单。
这里有一个关于 数组转换为XML
的话题 - 如何将数组转换为SimpleXML,而且在谷歌上可以找到许多关于 JSON转换为XML
的页面,所以我认为这主要是个人口味问题。