如何用有限的资源解析更大的XML文件?

时间:2010-09-21 11:29:33

标签: php xml parsing

  

可能重复:
  Parsing Huge XML Files in PHP

我试图在PHP下解析一个70Mb的XML文件。过了一会儿,资源不够,脚本崩溃了。如果有一个更大的XML文件,它会更快结束。我无法更改服务器和PHP的内存限制。

我该怎么做才能解析大文件?文件大小可能会有所不同,并不总是70Mb,很容易就是200Mb。

2 个答案:

答案 0 :(得分:4)

您可以使用XMLReader课程 它不会将整个文档作为对象模型读入内存,而是pull parser

答案 1 :(得分:1)

通常,如果要在受约束的环境中解析大型XML文档,则应使用SAX解析器,该解析器不以任何形式存储整个文档。例如,SAX解析器在遇到开始或结束标记时会调用用户定义的函数。