巨大なXMLファイルがあります。ただし、この巨大なツリーの1つの小さなサブツリーにのみ関心があります。このサブツリーを解析したいのですが、その一部のみを使用する場合は、大規模なツリー全体の解析に時間を無駄にしたくありません。
理想的には、このサブツリーの先頭が見つかるまでファイルをスキャンし、サブツリーの末尾に到達するまでサブツリーを解析してから、ファイルの残りの部分をわざわざ読み取らないようにします。たぶん、私が興味を持っているサブツリーをXPath式で記述します。lxmlを使用してこれを行う方法はありますか?このメソッドを使用してこのようなことができるように見えますがiterparse()
、ドキュメントに基づくと、使用したい解析済みオブジェクトが生成されないようです。助言がありますか?
(lxmlの使用は必須ではありませんが、Pythonを使用したいので、理想的には高速にしたいと思います。)