as_array() as $j=>$k) { $v = $xml->$j->value(); if (count($k) > 1) { foreach ($xml->get($j,1) as $k) if (isset($k['name'][0])) $result[$j][$k['name'][0]] = (isset($k['value'][0]) ? $k['value'][0] : ''); else $result[$j][] = $k; } elseif (! is_null($v)) $result[$j] = $v; else { $result[$j] = $this->collapse($xml->$j); } } if (array_key_exists('name',$result) AND array_key_exists('value',$result)) $result = array($result['name']=>$result['value']); return $result; } } ?>