public function parseCategories() { $categories = new Categories(); $keyParams = array(); foreach ($this->xmlCategories as $xmlCategory) { $code = $xmlCategory->getCode(); $name = $xmlCategory->getName(); $isAGroup = $xmlCategory->isAGroup(); if (!empty($code) && !in_array($code, $keyParams)) { array_push($keyParams, $code); $category = new Category(); $category->setIsAGroup($isAGroup); $category->setCode($code); $category->setName($name); $categories->setItem($category); } } foreach ($this->xmlCategories as $xmlCategory) { $catCode = $xmlCategory->getCategoryCode(); $code = $xmlCategory->getCode(); $current = $categories->getItemByCode($code); $parent = $categories->getItemByCode($catCode); if ($parent != null) { $current->setParent($parent); } } $categoryDAO = new CategoryDAO(); $categoryDAO->insertItems($categories); return $categories; }