В PHP можете да четете в изключително големи XML файлове с XMLReader
:
$reader = new XMLReader();
$reader->open($xmlfile);
Изключително големи XML файлове трябва да се съхраняват в компресиран формат на диск. Поне това има смисъл, тъй като XML файловете имат висок коефициент на компресия. Например gzip като large.xml.gz
.
PHP поддържа това доста добре с XMLReader
чрез компресионните обвивки
:
$xmlfile = 'compress.zlib://path/to/large.xml.gz';
$reader = new XMLReader();
$reader->open($xmlfile);
XMLReader
ви позволява да работите с текущия елемент "само". Това означава, че е само напред. Ако трябва да запазите състоянието на анализатора, трябва да го изградите свой.
Често намирам за полезно да обвия основните движения в набор от итератори, които знаят как да работят с XMLReader
като итерация само през елементи или дъщерни елементи. Ще намерите това, описано в Разбиране на XML с PHP и XMLReader
.
Вижте също: