SimpleXMLElement. Has a default value of CFSimpleXML. * @return CFSimpleXML An XML representation of the data. */ public static function to_xml($json, $parser = 'CFSimpleXML') { // If we haven't parsed the JSON, do it if (!is_array($json)) { // Handle the case of JSON-encoded NULL value if ($json === 'null') { $json = null; } else { $json = json_decode($json, true); if (function_exists('json_last_error')) { // Did we encounter an error? switch (json_last_error()) { case JSON_ERROR_DEPTH: throw new JSON_Exception('Maximum stack depth exceeded.'); case JSON_ERROR_CTRL_CHAR: throw new JSON_Exception('Unexpected control character found.'); case JSON_ERROR_SYNTAX: throw new JSON_Exception('Syntax error; Malformed JSON.'); case JSON_ERROR_STATE_MISMATCH: throw new JSON_Exception('Invalid or malformed JSON.'); } } // json_last_error() not available? elseif ($json === null) { throw new JSON_Exception('Unknown JSON error. Be sure to validate your JSON and read the notes on http://php.net/json_decode.'); } } } // Hand off for the recursive work $string = Array2DOM::arrayToXMLString($json, 'rootElement', true); return simplexml_load_string($string, $parser, LIBXML_NOCDATA); } } /** * Default JSON Exception. */ class JSON_Exception extends Exception {}