PHP:如何解析一个巨大的xml文件

时间:2011-01-21 18:53:37

标签: php xml

我需要解析一个包含大量作业条目的巨大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是否提供了允许很好地拆分该文件或将其解析为部分或任何可能有用的任何方法的方法。感谢您的任何想法和建议!

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

你尝试过增加内存吗?

ini_set("memory_limit", "128M") 

将此代码放在php文件的顶部。 你可以根据需要设置内存