sql >> Databáze >  >> RDS >> Mysql

Analýza extrémně velkých souborů XML v php

V PHP můžete číst extrémně velké soubory XML pomocí XMLReader :

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

Extrémně velké soubory XML by měly být uloženy v komprimovaném formátu na disku. Přinejmenším to dává smysl, protože soubory XML mají vysoký kompresní poměr. Například gzip jako large.xml.gz .

PHP to docela dobře podporuje s XMLReader prostřednictvím kompresních obalů :

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

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

XMLReader umožňuje provozovat „pouze“ aktuální prvek. To znamená, že je pouze dopředný. Pokud potřebujete zachovat stav analyzátoru, musíte si jej vytvořit vlastní.

Často mi přijde užitečné zabalit základní pohyby do sady iterátorů, které vědí, jak pracovat s XMLReader jako iterování pouze přes prvky nebo podřízené prvky. Najdete to nastíněné v Parse XML pomocí PHP a XMLReader .

Viz také:



  1. Normalizace v MYSQL

  2. Vynechání dvojité uvozovky pro dotaz na PostgreSQL

  3. Jak se připojit z příkazového řádku systému Windows k příkazovému řádku mysql

  4. MySQL Limit LEFT JOIN Poddotaz po připojení