$v) { if (isset($prop[$k])) { $target[$k] = $v; } } return $target; } } public static function toXML($array) { $arrayToXml = new ArrayToXml(); if (\is_object($array)) { $tmp = explode('\\', \get_class($array)); $rootName = $tmp[\count($tmp) - 1]; $data = json_decode(json_encode($array), true); } else { $tmp = $array; reset($tmp); $rootName = key($tmp); $data = $array[$rootName]; } ksort($data); return $arrayToXml->buildXML($data, $rootName); } private static function parse($xml) { libxml_disable_entity_loader(true); return json_decode( json_encode( simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA) ), true ); } }