解析MySQL的大型XML文件

问题描述:

我有一个非常大的XML文件(1.5GB),我需要解析并将特定值插入到MySQL表中。解析MySQL的大型XML文件

现在,我通常会在DOM上解析的方式是使用jQuery或PHP简单的Dom解析器,但在这种情况下,给定文件大小,我认为不适合。我需要强调表现。我已经阅读了关于PHP的SimpleXML和XML Parser的一些信息,看起来每个人都有自己的优势,但我不确定是否其中任何一个适合1.5GB大小的文件。

我也见过Pear的XML解析器,但是,我不知道这是否适合这种情况。从我读过的内容看来,我似乎只需要将内存加载到内存中,而不是整个树本身。即使现在,由于尺寸的原因,我实际上在查看文档时遇到了麻烦。 VIM似乎是唯一可以处理它的编辑器,但即使如此,滚动浏览文档也会导致崩溃。

如果任何人都可以推荐其中之一,或者甚至完全不同的解决方案,那就太棒了。

那会再带我到我的SQL插入,我打算在飞行中做的 - 所以之后我解析一个节点,拉着我要求我将这些插入到数据库中的值。再次,任何建议都会很棒。

+1

有关的文件,它的大小,使用的XMLReader –

对于这样巨大的XML文件,它建议使用基于SAX XML解析器。在PHP中,你可以用“XML Parser”来完成。它消耗的内存比它的peers少。也非常快。

的SimpleXML和DOM并不意味着大的XML文件

尝试:

甚至更​​好/更快(但稍微复杂的使用)