PHP-JSON到SimpleXML
我有一组PHP web服务,它们构造JSON对象并使用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) {
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依赖关系……你找到解决方案了吗?