position = 0; $this->nodeList = $domNode->childNodes; } /** * Returns the current DOMNode. * * @return DOMNode * Current DOMNode object. */ public function current() { return $this->nodeList->item($this->position); } /** * Returns an iterator for the current iterator entry. * * @return RecursiveDOMIterator * Iterator with children elements. */ public function getChildren() { return new self($this->current()); } /** * Checks if current element has children. * * @return bool * Has children. */ public function hasChildren() { return $this->current()->hasChildNodes(); } /** * Returns the current position. * * @return int * Current position */ public function key() { return $this->position; } /** * Moves the current position to the next element. */ public function next() { $this->position++; } /** * Rewind the Iterator to the first element. */ public function rewind() { $this->position = 0; } /** * Checks if current position is valid. * * @return bool * Is valid. */ public function valid() { return $this->position < $this->nodeList->length; } }