public static function to_array($xml, $recursive = false) { $array = !$recursive ? simplexml_load_string($xml) : $xml; $new_array = array(); $array = $array; foreach ($array as $key => $value) { $value = (array) $value; if (isset($value[0])) { $new_array[$key] = trim($value[0]); } else { $new_array[$key][] = xml::to_array($value, true); } } return $new_array; }