PHPでは、 XMLReader
を使用して、非常に大きなXMLファイルを読み取ることができます。
:
$reader = new XMLReader();
$reader->open($xmlfile);
非常に大きなXMLファイルは、圧縮形式でディスクに保存する必要があります。 XMLファイルは高い圧縮率を持っているので、少なくともこれは理にかなっています。たとえば、large.xml.gz
のようにgzipで圧縮されます 。
PHPはXMLReader
でそれを非常にうまくサポートしています 圧縮ラッパー
経由 :
$xmlfile = 'compress.zlib://path/to/large.xml.gz';
$reader = new XMLReader();
$reader->open($xmlfile);
XMLReader
現在の要素を「のみ」操作できます。つまり、フォワードのみです。パーサーの状態を維持する必要がある場合は、独自に構築する必要があります。
XMLReader
の操作方法を知っている一連のイテレータに、基本的な動きをラップすることが役立つことがよくあります。 要素または子要素のみを反復処理するようなものです。これは、PHPとXMLReaderを使用したXMLの解析
で概説されています。 。
参照: