XML ファイルに関して、現在のベスト プラクティスや好みは何ですか?
現時点では、ディレクトリを読み取り、ファイルをループして XML をオブジェクトに抽出するシステム (Java) があります。各ユーザーには独自の XML ファイルがあります。
user-0.xml --><user id="0" username="UserName1" password="whatever">
user-1.xml --><user id="1" username="UserName2" password="whatever" />
問題は、多数のファイルをデシリアライズすると、これらのファイルのデシリアライズが遅くなることです。(私のラップトップでは 10,000 に約 5 秒かかります)。私は自分のシステムが何千もの XML 文書を処理できるように将来を証明しようとしています (おそらく何千ものスレッド/返信などを持つフォーラム システムを作成するために同じアプローチを使用する予定です)。
それらをすべて1つのXMLファイルに保存してから、それを逆シリアル化する方が簡単/良い/安全/速い(アドバイスしてください)でしょうか?
users.xml --><user id="0" username="UserName1" password="whatever" /><user id="1" username="UserName2" password="whatever" />
ps。パスワードを暗号化していることに注意してください。
編集: 21:17 GMT 08/12/2012 DOM パーサーと Stax 実装の両方でこれをテストしました。どちらの場合も、ボトルネックは間違いなくファイル システムのルックアップです。
大まかなタイミングは、stax で 5 ~ 6 秒、10k ファイルの DOM パーサーで 6 ~ 7 秒です。
単一の XML ファイルを使用すると、時間が大幅に短縮されます。DOM パーサーで約 1.5 秒、stax で約 650 ミリ秒。
まあ... UserAccount の実装を書き直しているようです!! :(