Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Analisando arquivos XML extremamente grandes em php


Em PHP, você pode ler arquivos XML extremamente grandes com o XMLReader :
$reader = new XMLReader();
$reader->open($xmlfile);

Arquivos XML extremamente grandes devem ser armazenados em um formato compactado em disco. Pelo menos isso faz sentido, pois os arquivos XML têm uma alta taxa de compactação. Por exemplo, gzipado como large.xml.gz .

PHP suporta isso muito bem com XMLReader através dos empacotadores de compressão :
$xmlfile = 'compress.zlib://path/to/large.xml.gz';

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

O XMLReader permite operar no elemento atual "somente". Isso significa que é somente para frente. Se você precisar manter o estado do analisador, precisará construí-lo por conta própria.

Muitas vezes acho útil envolver os movimentos básicos em um conjunto de iteradores que sabem como operar em XMLReader como iterar por meio de elementos ou apenas elementos filho. Você encontra isso descrito em Parse XML with PHP and XMLReader .

Veja também: