brouzie / xml-iterator
Fast and memory efficient XML iterator based on XmlReader.
v0.2.1
2020-11-03 20:02 UTC
Requires
- php: >=7.1
- ext-dom: *
- ext-xmlreader: *
Requires (Dev)
- phpunit/phpunit: ^6.0
This package is auto-updated.
Last update: 2025-01-29 06:18:11 UTC
README
Fast and memory efficient XML iterator based on XmlReader.
Installation
Run
$ composer require brouzie/xml-iterator
Usage
<?php require_once 'vendor/autoload.php'; $iterator = \Brouzie\XmlIterator\XmlIterator::fromUri('path/to/file.xml', '/my/xpath'); try { $iterator->rewind(); } catch (\Brouzie\XmlIterator\Exception\FileParseError $error) { var_dump($error->getMessage(), $error->getContext()->getLine(), $error->getContext()->getColumn()); } while ($iterator->hasNextItem()) { try { $item = $iterator->getNextItem(); var_dump( $item->getXml(), // \SimpleXmlElement $item->getContext(), $item->getLine(), $item->getColumn() ); } catch (\Brouzie\XmlIterator\Exception\LineParseError $error) { if ($error->getContext()) { var_dump($error->getMessage(), $error->getContext()->getLine(), $error->getContext()->getColumn()); } else { var_dump($error->getMessage()); } } }