boobooking / simplexmlreader
Wrapper XMLReader class, for simple SAX-reading(and simple XPath-queries) of huge(testing over 1G file) xml.
dev-master
2024-05-07 20:37 UTC
Requires
- php: >=8.1
- ext-dom: *
- ext-xmlreader: *
- lib-libxml: *
This package is not auto-updated.
Last update: 2024-12-18 21:54:04 UTC
README
Wrapper XMLReader(http://php.net/manual/ru/book.xmlreader.php) class, for simple SAX-reading(and simple XPath-queries) of huge(testing over 1G file) xml.
Minimum the memory usage of other xml libraries(SimpleXML, DOMXML).
Usage example 1:
$reader = new SimpleXMLReader; $reader->open("big.xml"); $reader->registerCallback("by-node-name", function($reader) { $element = $reader->expandSimpleXml(); // copy of the current node as a SimpleXMLElement object $attributes = $element->attributes(); // read element attributes /* ...your code here... */ return true; }); $reader->registerCallback("/by/xpath/query", function($reader) { $element = $reader->expandDomDocument(); // copy of the current node as a DOMNode object $attributes = $element->attributes(); // read element attributes /* ...your code here... */ return true; }); $reader->parse(); $reader->close();
Usage example 2: http://github.com/dkrnl/SimpleXMLReader/blob/master/examples/example1.php
License: Public Domain