/** * {@inheritdoc} */ public function load(ObjectManager $manager) { // force id = 1 $metadata = $manager->getClassMetaData(get_class(new Country())); $metadata->setIdGeneratorType(\Doctrine\ORM\Mapping\ClassMetadata::GENERATOR_TYPE_NONE); $i = 1; $file = dirname(__FILE__) . '/../countries.xml'; $doc = new \DOMDocument(); $doc->load($file); $xpath = new \DOMXpath($doc); $elements = $xpath->query('/Countries/Country'); if (!is_null($elements)) { /** @var $element DOMNode */ foreach ($elements as $element) { $country = new Country(); $country->setId($i); $children = $element->childNodes; /** @var $child DOMNode */ foreach ($children as $child) { if (isset($child->nodeName)) { if ($child->nodeName == 'Name') { $country->setName($child->nodeValue); } if ($child->nodeName == 'Code') { $country->setCode($child->nodeValue); } } } $manager->persist($country); ++$i; } } $manager->flush(); }