En PHP, puede leer archivos XML extremadamente grandes con XMLReader
:
$reader = new XMLReader();
$reader->open($xmlfile);
Los archivos XML extremadamente grandes deben almacenarse en un formato comprimido en el disco. Al menos esto tiene sentido ya que los archivos XML tienen una alta tasa de compresión. Por ejemplo, comprimido como large.xml.gz
.
PHP lo admite bastante bien con XMLReader
a través de los envolturas de compresión
:
$xmlfile = 'compress.zlib://path/to/large.xml.gz';
$reader = new XMLReader();
$reader->open($xmlfile);
El XMLReader
le permite operar en el elemento actual "solo". Eso significa que es solo hacia adelante. Si necesita mantener el estado del analizador, debe crearlo usted mismo.
A menudo encuentro útil incluir los movimientos básicos en un conjunto de iteradores que saben cómo operar en XMLReader
como iterar a través de elementos o solo elementos secundarios. Puede encontrar esto descrito en Analizar XML con PHP y XMLReader
.
Ver también: