Mysql
 sql >> Database >  >> RDS >> Mysql

Analisi di file XML estremamente grandi in php

In PHP, puoi leggere file XML di grandi dimensioni con XMLReader :

$reader = new XMLReader();
$reader->open($xmlfile);

I file XML estremamente grandi devono essere archiviati in un formato compresso su disco. Almeno questo ha senso poiché i file XML hanno un rapporto di compressione elevato. Ad esempio gzippato come large.xml.gz .

PHP lo supporta abbastanza bene con XMLReader tramite i wrapper di compressione :

$xmlfile = 'compress.zlib://path/to/large.xml.gz';

$reader = new XMLReader();
$reader->open($xmlfile);

Il XMLReader permette di operare "solo" sull'elemento corrente. Ciò significa che è solo in avanti. Se devi mantenere lo stato del parser, devi crearlo da solo.

Spesso trovo utile racchiudere i movimenti di base in una serie di iteratori che sanno come operare su XMLReader come l'iterazione di elementi o solo elementi figlio. Lo trovi descritto in Analizza XML con PHP e XMLReader .

Vedi anche: