選択したXMLファイルを分割するJavaプログラムを作成しようとしています。Javaを使用したBIGファイルのXML分割
XMLファイルのデータサンプル:お尻に
<EmployeeDetails>
<Employee>
<FirstName>Ben</FirstName>
</Employee>
<Employee>
<FirstName>George</FirstName>
</Employee>
<Employee>
<FirstName>Cling</FirstName>
</Employee>
<EmployeeDetails>
というように、私はこの250メガバイトXMLファイルのアリを持って、それは常に痛みそれを外部プログラムを開いて、手動で読めることができるようにそれを分割します他のもの(すべてのラップトップ/デスクトップがそのような大きなファイルを開くことはできません)。そこで、私はこの機能を持つJavaプログラムを作成することにしました: - XMLファイルを選択してください(すでに完了しています) - 例えば、#のタグに基づいてファイルを分割します(現在のファイルには100kのタグがあります。例:ファイルごとに10kファイルを分割する - ファイルを分割する(すでに完了している)
2番目のタスクを実行するにはどうすればよいでしょうか? -4日は、私はおそらくこれを行うことができますどのように確認するか(それはもちろん、私の心の中で)それも可能である。
どれレスポンスが理解されるであろう。
乾杯、をGrimm。
Javaの場合、ファイル全体がメモリに読み込まれるDOM(ドキュメントオブジェクトモデル)が2つあります。実装するのが少しシンプルになりますが、妥当な量のメモリが必要になります。プログラムがそれ以上のことをしていなければ1GBのJVMで十分です。 SAX(ストリーミング)モデルは100GBになってもファイルを処理できます。ファイルは一度に少しずつ読み込まれ、たとえば新しいタグが見つかるとコールバックが発生します。 [この記事](http://stackoverflow.com/questions/6828703/what-is-the-difference-between-sax-anddom)にもう少し詳しく説明します。 – stdunbar
3番目の選択肢もあります.XSLT変換を実行します。 –
そして第4の選択肢:StAX。 – biziclop