14.8 XML mit xmlReader parsen

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 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.