TCP経由でXMLを私にストリーミングするサードパーティシステムがあるとします。送信されたXMLコンテンツの合計(ストリームの1つのメッセージではなく、連結されたメッセージ)は次のようになります。
<root>
<insert ....><remark>...</remark></insert>
<delete ....><remark>...</remark></delete>
<insert ....><remark>...</remark></insert>
....
<insert ....><remark>...</remark></insert>
</root>
上記のサンプルのすべての行は、個別に処理可能です。ストリーミングプロセスなので、すべてが到着するまで待つことはできません。コンテンツが到着したときに処理する必要があります。問題は、コンテンツチャンクを任意のポイントでスライスでき、タグが尊重されないことです。このようなフラグメントでコンテンツが到着した場合のコンテンツの処理方法について、良いアドバイスはありますか?
チャンク1:
<root>
<insert ....><rem
チャンク2:
ark>...</remark></insert>
<delete ....><remark>...</remark></delete>
<insert ....><remark>...</rema
チャンクN:
rk></insert>
....
<insert ....><remark>...</remark></insert>
</root>
編集:
処理速度は問題ではありませんが(リアルタイムのトラブルはありません)、メッセージ全体を待つことはできません。実際には、最後のチャンクが到着することはありません。サードパーティのシステムは、変更が発生するたびにメッセージを送信します。プロセスは決して終了しません、それは決して停止しないストリームです。