static function parseObj($obj)
 {
     $arr = (array) $obj;
     $newArr = array('name' => "", 'attributes' => array());
     foreach ($arr as $key => $value) {
         $isObj = false;
         $isArr = false;
         if (is_object($value)) {
             $isObj = true;
             $value = Request::parseObj($value);
         } else {
             if (is_array($value)) {
                 $isArr = true;
                 $tempArr = array();
                 foreach ($value as $obj) {
                     $tempArr[] = Request::parseObj($obj);
                 }
                 $value = $tempArr;
             }
         }
         // Attributes
         if (substr($key, 0, 1) == "@") {
             $newArr['attributes'][substr($key, 1)] = $value;
         } else {
             if (substr($key, 0, 1) == "#") {
                 $newArr['value'] = $value;
             } else {
                 $newArr['name'] = $key;
                 if (!$isObj && !$isArr) {
                     $newArr['value'] = $value;
                 } elseif ($isArr) {
                     $newArr = array_merge($newArr, $value);
                 } else {
                     $newArr[] = $value;
                 }
             }
         }
     }
     return $newArr;
 }