3

StAXを使用しEventFilterてさまざまなイベントタイプのカスタム変換を作成するとStreamFilter、手続き型の実装を余儀なくされているように感じます-これらのイベントを抽出して処理し、それらのイベントをフィルタリングして処理し、すべての結果を元に戻して返します。

SAXには、 XMLFiltersに基づくチェーン可能なフィルターという、非常に優れた機能があるようです。
実装を StAX ベースのままにしておくことを好みますが、SAX からチェイン可能なフィルターを何らかの方法で組み込むか、エミュレートします。

これは合理的な努力で、どのように行うことができますか? 私が見逃した実装は既にありますか?

プロジェクトの制限により、私は JDK に固執する必要があるため、答えとして別のライブラリを使用することを提案しないでください。ただし、コメントで自由に提案してください。

4

2 に答える 2

4

とを見てEventReaderDelegateくださいStreamReaderDelegate。これらのクラスを使用すると、親イベントまたはストリーム リーダーをラップして、任意のロジックを挿入できます。

于 2011-04-06T14:12:11.417 に答える
0

デリゲートを使用することはできますが、SAX が Stax より優れている数少ない分野の 1 つは、効率的なモジュラー パイプラインを構築できることだと思います。Stax は、部分的なデータ バインディングと同様に、再帰的降下アプローチに最適です (ストリームをトラバースできます。チャンクを JAXB に渡し、継続し、非常にシンプルで強力です)。

于 2011-06-30T01:12:26.637 に答える