将PHP中的JSON或数组转换为XML

18

最简单的方法是将JSON或Array对象转换为XML。也许我在所有错误的地方查找,但我没有找到一个像样的答案来帮助我迈出这一步。这是我必须自己构建的东西吗?还是有类似json_encode/json_decode的东西,可以将数组或JSON对象直接转换成XML对象?


https://dev59.com/6XM_5IYBdhLWcg3wZSI6 - linuxeasy
您想将JSON /数组转换为XML吗?能给一个例子吗? - Gumbo
3个回答

13

这是我将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);
        }
    }
}

12

4

我不确定最简单的方法。在我看来,两种方法都相对简单。

这里有一个关于 数组转换为XML 的话题 - 如何将数组转换为SimpleXML,而且在谷歌上可以找到许多关于 JSON转换为XML 的页面,所以我认为这主要是个人口味问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接