我有一个非常大的XML文件(1.5GB)需要解析,然后将特定值插入MySQL表。
现在我通常在DOM上解析的方式是使用jQuery或PHP Simple Dom Parser,但在这种情况下,考虑到文件大小,我认为不适合。我需要强调表现。我已经阅读了一些关于PHP的SimpleXML和XML Parser的内容,看起来每个都有它们的优点,但我不确定这些是否适合大小为1.5GB的文件。
我也看过Pear的XML解析器,但是,我不知道这是否适合这种情况。从我所看到的,似乎我需要只将所需的节点加载到内存而不是整个树本身。即使是现在,由于尺寸的原因我实际上无法查看文档。 VIM似乎是唯一可以处理它的编辑器,但即使这样滚动文档也会导致崩溃。
如果有人可以推荐其中一种,或者甚至是一种完全不同的解决方案,那就太棒了。
然后,这将带我到我将要动态执行的SQL插入 - 所以在我解析一个节点并拉出我需要的值后,我将把它们插入到数据库中。同样,任何建议都会很棒。
答案 0 :(得分:2)
对于如此庞大的XML文件,建议使用基于SAX的XML解析器。在PHP中,您可以使用“XML Parser”来完成。它消耗的内存少于peers。它也非常快。
答案 1 :(得分:1)