public function getXMLElementAround($innerXML = '')
 {
     return XMLBuild::wrapTag($this->name_, $this->attributes_, $innerXML);
 }
<?php

/*
 * This file is part of the XMLReaderIterator package.
 *
 * Copyright (C) 2012, 2013 hakre <http://hakre.wordpress.com>
 *
 * Example: Iterate over all elements
 */
require 'xmlreader-iterators.php';
// require XMLReaderIterator library
$xmlFile = 'data/movies.xml';
$reader = new XMLReader();
$reader->open($xmlFile);
/** @var XMLElementIterator|XMLReaderNode[] $it */
$it = new XMLElementIterator($reader);
foreach ($it as $index => $element) {
    printf("#%02d: %s\n", $index, XMLBuild::readerNode($reader));
}
 /**
  * @param XMLReader $reader
  *
  * @return string
  */
 public static function readerNode(XMLReader $reader)
 {
     switch ($reader->nodeType) {
         case XMLREADER::NONE:
             return '%(0)%';
         case XMLReader::ELEMENT:
             return XMLBuild::startTag($reader->name, new XMLAttributeIterator($reader));
         default:
             $node = new XMLReaderNode($reader);
             $nodeTypeName = $node->getNodeTypeName();
             $nodeType = $reader->nodeType;
             return sprintf('%%%s (%d)%%', $nodeTypeName, $nodeType);
     }
 }