Is there any way to convert json to xml in PHP?
If you're willing to use the XML Serializer from PEAR, you can convert the JSON to a PHP object and then the PHP object to XML in two easy steps:
include("XML/Serializer.php");function json_to_xml($json) { $serializer = new XML_Serializer(); $obj = json_decode($json); if ($serializer->serialize($obj)) { return $serializer->getSerializedData(); } else { return null; }}
It depends on how exactly you want you XML to look like. I would try a combination of json_decode()
and the PEAR::XML_Serializer
(more info and examples on sitepoint.com).
require_once 'XML/Serializer.php';$data = json_decode($json, true)// An array of serializer options$serializer_options = array ( 'addDecl' => TRUE, 'encoding' => 'ISO-8859-1', 'indent' => ' ', 'rootName' => 'json', 'mode' => 'simplexml'); $Serializer = &new XML_Serializer($serializer_options);$status = $Serializer->serialize($data);if (PEAR::isError($status)) die($status->getMessage());echo '<pre>';echo htmlspecialchars($Serializer->getSerializedData());echo '</pre>';
(Untested code - but you get the idea)