Around with PHP to parse large XML files, do you want to use a SAX parser, the XML reads files from top to bottom and not transforming into an object. This is the XMLReader PHP.
An example:
$data = new Data(); $reader = new \XMLReader(); $reader->open($file); while ($reader->read()) { if ($reader->nodeType == \XMLReader::ELEMENT) { switch ($reader->name) { case "tagName1" : $node = new \SimpleXMLElement($reader->readOuterXML()); $attributes = $node->attributes(); $entity = new Entity(); $entity->setId($attributes['id']); $entity->setName($attributes['name']); $entity->setCode($attributes['code']); $data->addEntity($entity); break; case "tagName2": $node = new \SimpleXMLElement($reader->readOuterXML()); $attributes = $node->attributes(); $entity = new OtherEntity(); $entity->setId($attributes['id']); $entity->setName($attributes['name']); $entity->setCode($attributes['code']); $data->addOtherEntity($entity); break; } } }