In PHP können Sie extrem große XML-Dateien mit dem XMLReader
einlesen
:
$reader = new XMLReader();
$reader->open($xmlfile);
Extrem große XML-Dateien sollten in einem komprimierten Format auf der Festplatte gespeichert werden. Dies ist zumindest sinnvoll, da XML-Dateien eine hohe Komprimierungsrate haben. Zum Beispiel gzipped wie large.xml.gz
.
PHP unterstützt das recht gut mit XMLReader
über die Komprimierungs-Wrapper
:
$xmlfile = 'compress.zlib://path/to/large.xml.gz';
$reader = new XMLReader();
$reader->open($xmlfile);
Der XMLReader
ermöglicht es Ihnen, "nur" das aktuelle Element zu bearbeiten. Das heißt, es ist nur vorwärts. Wenn Sie den Parser-Status beibehalten müssen, müssen Sie ihn selbst erstellen.
Ich finde es oft hilfreich, die grundlegenden Bewegungen in eine Reihe von Iteratoren zu packen, die wissen, wie man mit XMLReader
arbeitet wie das Durchlaufen von Elementen oder nur untergeordneten Elementen. Sie finden dies in XML mit PHP und XMLReader analysieren
beschrieben .
Siehe auch: