/** * @param $rawData * @throws \InvalidArgumentException * @throws \RuntimeException */ public function setRawData($rawData) { if (1 === preg_match('~Puzzle [0-9]+ does not exist~', $rawData)) { throw new \InvalidArgumentException(trim($rawData)); } parent::setRawData($rawData); $this->domDocument = new \DOMDocument(); $this->domDocument->preserveWhiteSpace = false; if (false === $this->domDocument->loadXML($this->rawData, LIBXML_NOERROR)) { throw new \RuntimeException('failed to parse xml'); } $this->domXPath = new \DOMXPath($this->domDocument); }
/** * @param $rawData */ public function setRawData($rawData) { parent::setRawData($rawData); $this->parseRawData(); }