Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Analysieren extrem großer XML-Dateien in PHP

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: