非常に大きなXMLファイルを(JAXPを使用して)DOMツリーにロードし、いくつかの変更を行って、結果のDOMに対してXPathクエリを実行したいと思います。
遅延読み込みを使用して実装された独自のDOM実装を使用します(つまり、最初はDOMの最初の2つのレベルのみがファイルから読み込まれ、getChildNodes()などが呼び出された場合は、ファイルに戻ってさらにレベルを読み込みます。 )。これは非常に遅いですが、特にファイルの一部のみを使用する場合は、はるかに大きなファイルをロードできます。
私の質問:XPathはXML(afaik)で別のビューを使用しています。デフォルトのOracleJDK実装がDOMドキュメント全体を内部XPathドキュメントに変換しているのか(ドキュメント全体を熱心にロードするため、これは本当に悪いことです)、またはXPath実装が私たちのDOMツリー(つまり、すでにロードされている要素内でXPathを評価できる場合は、それ以上ロードしません)。