いくつかの大きなサイズの XML ファイル (1 つは ~8GB、他は ~4MB) を解析し、それらをマージする必要があります。SAX と 両方ともTie::File
メモリと時間の問題で適していないため、Twig を試すことにしました。
各 XML ファイルが次のようないくつかの要素で構成されているとします。
<class name=math>
<student>luke1</student>
... (a very very long list of student)
<student>luke8000000</student>
</class>
<class name=english>
<student>mary1</student>
...
<student>mary1000000</student>
</class>
ご覧のとおり、使用しても、最初の各行を処理する必要があるためTwigRoots => {"class[\@name='english']" => \&counter}
、Twig が解析を開始するまで長い間待つ必要があります (各行を処理する必要がない場合は修正してください)。class=english
class=math
ファイルの先頭ではなく、行番号から Twig に解析を開始させる方法はありますか? <class name = english>
grepを使用すると、はるかに高速な行番号を取得できます。
前もって感謝します。