在PHP中,您可以使用
XMLReaderDocs 读取超大型XML文件:
$reader = new XMLReader();$reader->open($xmlfile);
特大XML文件应以压缩格式存储在磁盘上。至少这是有道理的,因为XML文件具有很高的压缩率。例如,像gzip一样
large.xml.gz。
PHP
XMLReader通过压缩包装器
Docs 很好地支持了这一点:
$xmlfile = 'compress.zlib://path/to/large.xml.gz';$reader = new XMLReader();$reader->open($xmlfile);
将
XMLReader允许您将当前元素“唯一”上运行。这意味着它仅向前。如果需要保持解析器状态,则需要自己构建它。
我经常发现将基本动作包装到一组迭代器中很有帮助,这些迭代器知道如何
XMLReader像仅通过元素或子元素进行迭代那样进行操作。您可以在使用PHP和XMLReader解析XML中找到概述。
另请参阅:
- PHP打开压缩的XML



