【问题标题】:PHP: how to parse a huge xml filePHP:如何解析一个巨大的 xml 文件
【发布时间】:2011-12-18 01:34:47
【问题描述】:

我需要解析一个包含大量工作条目的巨大 XML,像这样

<?xml version="1.0" encoding="ISO-8859-1"?>
<items>
  <item>
    <title><![CDATA[...]]></title>
    <description><![CDATA[...]]></description>
    <link><![CDATA[...]]></link>
    <city><![CDATA[...]]></city>
    <state><![CDATA[...]]></state>
    <position><![CDATA[...]]></position>
    <company><![CDATA[...]]></company>
    <category_id><![CDATA[...]]></category_id>
    <job_id>...</job_id>
    <salary><![CDATA[...]]></salary>
    <term><![CDATA[...]]></term>
  </item>

  ....

</items>

服务器有足够的内存来完全读取该文件,但是在解析时,它会失败并出现“内存耗尽”错误。 PHP 是否提供了允许很好地拆分该文件或将其解析为部分或任何可以在此处提供帮助的方法。感谢您的任何想法和建议!

【问题讨论】:

标签: php xml


【解决方案1】:

http://www.php.net/xmlreader 可以在不使用大量内存的情况下处理它。

【讨论】:

    【解决方案2】:

    您是否尝试过增加内存?

    ini_set("memory_limit", "128M") 
    

    将此代码放在 php 文件的顶部。 您可以根据需要将内存设置为任意高

    【讨论】:

    • 取消设置内存限制不会向机器添加新的 RAM 或规避任何其他外部 php 限制
    猜你喜欢
    • 2010-10-29
    • 2014-07-22
    • 1970-01-01
    • 1970-01-01
    • 2013-03-31
    • 1970-01-01
    • 2015-11-01
    相关资源
    最近更新 更多