用于解析的大型XML的php脚本分解

用于解析的大型XML的php脚本分解,php,parsing,memory-limit,Php,Parsing,Memory Limit,我有几个巨大的XML文件,我删掉了几行,这样我就可以有一个可管理的大小的文件来测试用php编写的解析脚本。XML文件中有很多嵌套,有很多列,还有很多空白,所以编写脚本是一个巨大的考验。现在,我要解析的全尺寸XML文件达到了php内存限制 现在,我考虑过的一件事是暂时提高php内存限制,但我需要每隔一段时间重新运行这个脚本。。。一周左右。而且,我没有最好的系统。运行它热和设置它融化是一个真正的可能性和我的“完美风暴”之一 我还考虑尝试学习一种新语言,如perl或python。无论如何,我可能会懂其

我有几个巨大的XML文件,我删掉了几行,这样我就可以有一个可管理的大小的文件来测试用php编写的解析脚本。XML文件中有很多嵌套,有很多列,还有很多空白,所以编写脚本是一个巨大的考验。现在,我要解析的全尺寸XML文件达到了php内存限制

现在,我考虑过的一件事是暂时提高php内存限制,但我需要每隔一段时间重新运行这个脚本。。。一周左右。而且,我没有最好的系统。运行它热和设置它融化是一个真正的可能性和我的“完美风暴”之一

我还考虑尝试学习一种新语言,如perl或python。无论如何,我可能会懂其中一种语言。不过,我宁愿坚持我所拥有的,即使只是为了时间的利益

难道没有办法让php将XML文件分解成可管理的块,而不会将我的机器推向极限吗?因为XML文件中的每一行都由一个ID列包装,所以看起来我应该能够剪切到第n行闭包,解析切片的内容,然后休眠,或者其他什么


有什么想法吗

SimpleXML,您现在是如何解析XML的?如果使用,则可以在不将整个内容读入内存的情况下处理XML文件。它们更复杂,但有减少内存使用的积极好处,因为您在读取文件块时处理元素。@drew010,当我到达工作站时,我可以发布一个示例。我相信我使用了simpleXML或类似的东西,但我最近还没有把代码分解到足以确定的程度。好的,如果你在发布时回复,我会看到回复。如果是SimpleXML(这很容易判断),那么基本上就是将整个文件解析为一个大型结构,因此占用了大量内存`
$doc
是整个XML源代码吗?