public static function generateXMLTree(SimpleXMLElement $xml) { $reportBaseClosure = new self(); $reportBaseClosureIterator = $reportBaseClosure->getAllTopLevelRoots(); foreach ($reportBaseClosureIterator as $reportBase) { $item = $xml->addChild('row'); $item->addAttribute('id', $reportBase->reportBaseId); $item->addChild('cell', $reportBase->displayName); $item->addChild('cell', $reportBase->systemName); self::_generateTree($item, $reportBase->reportBaseId); } return $xml; }