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

Parsing af ekstremt store XML-filer i php

I PHP kan du læse ekstremt store XML-filer ind med XMLReader :

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

Ekstremt store XML-filer skal gemmes i et komprimeret format på disken. Det giver i det mindste mening, da XML-filer har et højt komprimeringsforhold. For eksempel gzippet som large.xml.gz .

PHP understøtter det ret godt med XMLReader via komprimeringsindpakning :

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

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

XMLReader giver dig mulighed for "kun" at betjene det aktuelle element. Det betyder, at det kun er fremadrettet. Hvis du har brug for at beholde parsertilstand, skal du bygge den selv.

Jeg finder det ofte nyttigt at pakke de grundlæggende bevægelser ind i et sæt iteratorer, der ved, hvordan man fungerer på XMLReader som at gentage elementer eller kun underordnede elementer. Du finder dette beskrevet i Parse XML med PHP og XMLReader .

Se også:



  1. formater interval med to_char

  2. Skinner omfang - hvor i nøjagtige matcher

  3. Hvordan Group_Concat() virker i SQLite

  4. Sådan ændres et databasenavn i SQL Server ved hjælp af T-SQL