0
我有一大堆的PHP Web服务构建JSON对象,并使用json_encode
拯救他们。PHP - JSON来的SimpleXML
这工作得很好,但我现在有一个Web服务也可以提供在XML,根据给定参数的要求。
我想如果可能的话,从PEAR XML远离,并希望找到一个简单的解决方案,可以用SimpleXML来实现。
任何人都可以给我任何建议吗?
感谢
我有一大堆的PHP Web服务构建JSON对象,并使用json_encode
拯救他们。PHP - JSON来的SimpleXML
这工作得很好,但我现在有一个Web服务也可以提供在XML,根据给定参数的要求。
我想如果可能的话,从PEAR XML远离,并希望找到一个简单的解决方案,可以用SimpleXML来实现。
任何人都可以给我任何建议吗?
感谢
您可以使用json_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);
添加了一些测试和更多:https://github.com/mevdschee/json2xml.php – mevdschee 2017-02-22 00:48:37
是的,它可以用SimpleXml实现。请说明你在寻找什么样的建议? – Gordon 2012-03-15 13:07:12
用于转换你的对象到XML看这个问题:http://stackoverflow.com/questions/137021/php-object-as-xml-document – chiborg 2012-03-15 13:16:03
见上文 - 我想如果可能的话,从PEAR XML望而却步。我想使用SimpleXML。我只想知道是否有一个简单的函数,就像json_encode一样简单,可以将JSON转换为XML。 – adam 2012-03-28 08:19:33