public function parseHit($xml) { $hit = new Hit($this->version, $this->baseApiUrl); $hit->setInfos($this->getAttributes($xml)); while ($xml->read()) { if ($xml->nodeType == XMLReader::ELEMENT) { switch ($xml->localName) { case 'AnswerGroup': $hit->addCategoryGroup($this->parseCategoryGroup($xml)); break; case 'Meta': $metas = $this->parseMeta($xml); if (is_array($metas)) { foreach ($metas as $meta) { $hit->addMeta($meta); } } else { $hit->addMeta($metas); } } } else { if ($xml->nodeType == XMLReader::END_ELEMENT && $xml->localName == 'Hit') { break; } } } return $hit; }