2013-01-12 124 views
3

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

現在,我通常會在DOM上解析的方式是使用jQuery或PHP簡單的Dom解析器,但在這種情況下,給定文件大小,我認爲不適合。我需要強調錶現。我已經閱讀了關於PHP的SimpleXML和XML Parser的一些信息,看起來每個人都有自己的優勢,但我不確定是否其中任何一個適合1.5GB大小的文件。

我也見過Pear的XML解析器,但是,我不知道這是否適合這種情況。從我讀過的內容看來,我似乎只需要將內存加載到內存中,而不是整個樹本身。即使現在,由於尺寸的原因,我實際上在查看文檔時遇到了麻煩。 VIM似乎是唯一可以處理它的編輯器,但即使如此,滾動瀏覽文檔也會導致崩潰。

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

那會再帶我到我的SQL插入,我打算在飛行中做的 - 所以之後我解析一個節點,拉着我要求我將這些插入到數據庫中的值。再次,任何建議都會很棒。

+1

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

回答

2

對於這樣巨大的XML文件,它建議使用基於SAX XML解析器。在PHP中,你可以用「XML Parser」來完成。它消耗的內存比它的peers少。也非常快。