4

非常に大きな XML ファイル (1.5GB) を解析してから、特定の値を MySQL テーブルに挿入する必要があります。

通常、DOM で解析を行う方法は、jQuery または PHP Simple Dom Parser を使用することですが、この状況では、ファイル サイズを考えると、どちらも適切ではないと思います。パフォーマンスに重点を置く必要があります。SimpleXML と XML Parser for PHP について少し読んだことがありますが、それぞれに利点があるようですが、これらのいずれかが 1.5GB のサイズのファイルに適しているかどうかはわかりません。

Pear の XML パーサーについても言及されているのを見たことがありますが、やはり、これがこの状況に適しているかどうかはわかりません。私が読んだことから、ツリー自体ではなく、必要なノードのみをメモリにロードする必要があるようです。今でも、サイズのせいでドキュメントを実際に見るのに苦労しています。VIM はそれを処理できる唯一のエディターのようですが、それでもドキュメントをスクロールするとクラッシュする可能性があります。

誰かがこれらのいずれかを他のものよりも推奨できる場合、またはまったく異なるソリューションを推奨できる場合でも、それは素晴らしいことです.

これにより、その場で実行する予定だった SQL 挿入が表示されます。ノードを解析して必要な値を取得した後、これらをデータベースに挿入します。繰り返しますが、どんなアドバイスも素晴らしいでしょう。

4

2 に答える 2

2

このような巨大なXMLファイルの場合、SAXベースのXMLパーサーを使用することをお勧めします。PHPでは、「 XMLパーサー」を使用してこれを行うことができます。ピアよりも少ないメモリを消費します。また、その非常に高速です。

于 2013-01-12T18:46:17.180 に答える
2

SimpleXml and DOM are not meant for big XML files

try:

or even better/faster (but slightly more complicate to use)

于 2013-01-12T18:51:44.673 に答える