Here is my simple SimpleXML wrapper function.As far as I can tell, it does the same as Julio Cesar Oliveira's (above).It parses an XML string into a multi-dimensional associative array.The second argument is a callback that is run on all data (so for example, if you want all data trimmed, like Julio does in his function, just pass 'trim' as the second arg).<?phpfunction unserialize_xml($input, $callback = null, $recurse = false){ $data = ((!$recurse) && is_string($input))? simplexml_load_string($input): $input; if ($data instanceof SimpleXMLElement) $data = (array) $data; if (is_array($data)) foreach ($data as &$item) $item = unserialize_xml($item, $callback, true); return (!is_array($data) && is_callable($callback))? call_user_func($callback, $data): $data;}?>