我试图在PHP下解析一个70Mb的XML文件。过了一会儿,资源不够,脚本崩溃了。如果有一个更大的XML文件,它会更快结束。我无法更改服务器和PHP的内存限制。
我该怎么做才能解析大文件?文件大小可能会有所不同,并不总是70Mb,很容易就是200Mb。
答案 0 :(得分:4)
您可以使用XMLReader课程 它不会将整个文档作为对象模型读入内存,而是pull parser。
答案 1 :(得分:1)
通常,如果要在受约束的环境中解析大型XML文档,则应使用SAX解析器,该解析器不以任何形式存储整个文档。例如,SAX解析器在遇到开始或结束标记时会调用用户定义的函数。