/** * Returns the list of worksheets inside the archive * * The keys of the array should be the titles of the worksheets * The values of the array are the names of the XML worksheet files inside the archive * * @param Relationships $relationships * @param string $path * * @return array */ public function getWorksheetPaths(Relationships $relationships, $path) { $xml = new \XMLReader(); $xml->open($path); $paths = []; while ($xml->read()) { if (\XMLReader::ELEMENT === $xml->nodeType && 'sheet' === $xml->name) { $rId = $xml->getAttributeNs('id', 'http://schemas.openxmlformats.org/officeDocument/2006/relationships'); $paths[$xml->getAttribute('name')] = $relationships->getWorksheetPath($rId); } } return $paths; }
public function getAttributeNs($name, $namespaceURI) { return parent::getAttributeNs($name, $namespaceURI); }
<?php /* $Id$ */ $xmlstring = '<?xml version="1.0" encoding="UTF-8"?> <prefix:books xmlns:prefix="uri" isbn="" prefix:isbn="12isbn">book1</prefix:books>'; $reader = new XMLReader(); $reader->XML($xmlstring); // Only go through $reader->read(); $reader->read(); $reader->next(); echo $reader->name; echo " "; echo $reader->getAttributeNs('isbn', 'uri'); echo "\n"; ?> ===DONE===