XMLファイルをデータストアとして作成したい。次のようになります。
<datastore>
<item>
<subitem></subitem>
...
<subitem></subitem>
</item>
....
<item>
<subitem></subitem>
...
<subitem></subitem>
</item>
</datastore>
実行時に、データストアにアイテムを追加する必要がある場合があります。アイテムの数が多い可能性があるため、ドキュメント全体をメモリに保持したくなく、DOMを使用できません。変化が起こる部分を書きたいだけです。または、DOMはこれをサポートしていますか?
私はStAXを最初に見ましたが、それが私が望むことをするかどうかはわかりません。
ルート要素が閉じられる直前のファイルの最後にあるカーソル位置を覚えておくのが最善ではないでしょうか。それは常に新しいアイテムが追加される位置です。したがって、その位置を覚えていて、変更中に最新の状態に保つと、ファイル全体を繰り返すことなく、最後に新しいアイテムを追加できます。
たぶん、2番目のカーソルは、最初のカーソルから独立して使用して、読む目的でドキュメントを反復処理することができます。
StAXがこれをサポートしていることがわかりませんね。
ストリームベースのAPIではなく、ファイル用のブロックベースのAPIはありませんか?ファイルとファイルシステムは、ブロック「デバイス」の典型的な例ではありませんか?そして、そのようなAPIがある場合、それは私の問題を解決するのに役立ちますか?
前もって感謝します。