Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何用有限的资源解析较大的XML文件?_Php_Xml_Parsing - Fatal编程技术网

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

Php 如何用有限的资源解析较大的XML文件?,php,xml,parsing,Php,Xml,Parsing,可能重复: 我试图在PHP下解析一个70Mb的XML文件。一段时间后,资源不足,脚本崩溃。如果有一个更大的XML文件,它会更快结束。我无法更改服务器和PHP的内存限制 如何解析大型文件?文件大小可能会有所不同,并不总是70Mb,很可能是200Mb 您可以使用该类。 它不会将整个文档作为对象模型读入内存,而是一个类。您可以使用该类。 它不会将整个文档作为对象模型读入内存,而是一个对象模型。一般来说,当您想要在受限环境中解析大型XML文档时,应该使用SAX解析器,它不会以任何形式存储整个文档。例如

可能重复:

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

如何解析大型文件?文件大小可能会有所不同,并不总是70Mb,很可能是200Mb

您可以使用该类。 它不会将整个文档作为对象模型读入内存,而是一个类。

您可以使用该类。
它不会将整个文档作为对象模型读入内存,而是一个对象模型。

一般来说,当您想要在受限环境中解析大型XML文档时,应该使用SAX解析器,它不会以任何形式存储整个文档。例如,SAX解析器在遇到开始或结束标记时会调用用户定义的函数。

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

SAX对于大多数解析需求来说是痛苦的,而且级别太低。我会选择拉式解析器。对于大多数解析需求来说,SAX是痛苦的、太低级的。我会选择拉解析器。