14.8 Große XML-Dokumente einlesen (xmlReader)
Problem
Sie möchten ein XML-Dokument ereignisbasiert verarbeiten, ohne Callbacks schreiben zu müssen.
Lösung
Verwenden Sie die PECL-Extension xmlReader, die ab PHP 5.1 auch Teil der Standard-Distribution sein wird. Diese ereignisbasierte Art der Verarbeitung von XML-Dokumenten ist besonders bei sehr großen Dateien vorteilhaft, da das Dokument nicht vollständig in den Speicher geladen werden muss und dadurch Ressourcen gespart werden können.
$reader = new xmlReader(); $reader->open('buecher.xml'); while ($reader->read()) { switch ($reader->nodeType) { case XMLREADER_ELEMENT: if ($reader->name == 'buecher') { continue; } if ($reader->name == 'buch') { print "Neues Buch\n"; continue; } print " " . ucfirst($reader->name) ...
Get PHP 5 Kochbuch, Third Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.