PHP JSON 或 Array to XML

2022-08-30 22:07:32

获取 JSON 或 Array 对象并将其转换为 XML 的最简单方法是什么?也许我正在寻找所有错误的地方,但我没有找到一个体面的答案来让我走上正轨。这是我必须以某种方式自己建立的东西吗?或者有没有像json_encode/json_decode这样的东西,它将采用数组或json对象并将其作为xml对象弹出?


答案 1

这是我将JSON转换为XML的变体。我使用json_decode()函数从JSON获得一个数组:

$array = json_decode ($someJsonString, true);

然后我用我的数组ToXml()函数将数组转换为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);
        }
    }
}

答案 2

在这里检查:如何将数组转换为SimpleXML

本文档也应该对您有所帮助

关于Json到Array,您可以使用json_decode来做同样的事情!