PHP-JSON到SimpleXML

PHP-JSON到SimpleXML,php,simplexml,Php,Simplexml,我有一组PHP web服务,它们构造JSON对象并使用JSON\u encode交付它们 这很好,但我现在有一个要求,即web服务也可以用XML交付,具体取决于给定的参数 如果可能的话,我想远离pearxml,希望找到一个可以用SimpleXML实现的简单解决方案 有人能给我一些建议吗 谢谢您可以使用json\u decode($json,true)创建关联数组,并尝试以下函数将其转换为xml function assocArrayToXML($root_element_name,$ar) {

我有一组PHP web服务,它们构造JSON对象并使用
JSON\u encode
交付它们

这很好,但我现在有一个要求,即web服务也可以用XML交付,具体取决于给定的参数

如果可能的话,我想远离pearxml,希望找到一个可以用SimpleXML实现的简单解决方案

有人能给我一些建议吗


谢谢

您可以使用
json\u decode($json,true)
创建关联数组,并尝试以下函数将其转换为xml

function assocArrayToXML($root_element_name,$ar)
{
    $xml = new SimpleXMLElement("<?xml version=\"1.0\"?><{$root_element_name}></{$root_element_name}>");
    $f = function($f,$c,$a) {
            foreach($a as $k=>$v) {
                if(is_array($v)) {
                    $ch=$c->addChild($k);
                    $f($f,$ch,$v);
                } else {
                    $c->addChild($k,$v);
                }
            }
    };
    $f($f,$xml,$ar);
    return $xml->asXML();
} 

// usage
$data = json_decode($json,true);
echo assocArrayToXML("root",$data);
函数assocaraytoxml($root\u element\u name,$ar)
{
$xml=新的SimpleXMLElement(“”);
$f=函数($f,$c,$a){
foreach($a为$k=>$v){
if(is_数组($v)){
$ch=$c->addChild($k);
$f($f,$ch,$v);
}否则{
$c->addChild($k,$v);
}
}
};
$f($f,$xml,$ar);
返回$xml->asXML();
} 
//用法
$data=json_decode($json,true);
echo-assocaraytoxml(“根”,$data);

是的,它可以用SimpleXml实现。请澄清您在寻求什么样的建议?关于将对象转换为XML,请参见以下问题:参见上文-如果可能,我想远离PEAR XML。我想使用SimpleXML。我只是想知道是否有一个像json_encode这样简单的函数,可以将json转换成XML。@adam-我发现自己同样需要将json转换成SimpleXML,并且同样希望避免任何PEAR依赖关系……你找到解决方案了吗?