Node.js サーバーを介して S3 呼び出しをプロキシしていますが、プロキシする前に、返された XML 値をいくつか微調整したいと考えています。これらの微調整を除いて、応答ヘッダーなど、各応答の残りを維持したいと思います。
もちろん、最初に応答全体を収集し、XML を解析して変換し、返すこともできますが、応答が大きい場合は遅くなり、メモリを大量に消費します。基本的に達成できる方法はありますstream.pipe()
が、おそらく変換機能を使用できますか?
私はsax-jsを見てきました。これはパイプできますが、変換機能はありません。低レベルの解析イベントをリッスンし、結果の XML を自分で生成して出力する必要がありますか?
また、「プッシュ パーサー」と高レベルの DOM API を備えたlibxmljsも調べましたが、低レベルの解析イベントを自分でリッスンする必要があるようです。また、ストリーミングできるかどうかもわかりません。生成された結果の XMLが出力されます。
これら2つのアプローチのいずれかよりも簡単な方法はありますか? ありがとう!
PS XML の微調整は単純です。一部のテキスト要素から部分文字列を削除するだけです。