私は次のような問題があります:私は非常に大きなXMLファイル(300 + Megsなど)を持っており、DBに値の一部を追加するために解析する必要があります。これらのファイルの構造も非常に複雑です。 Stax Parserを使用したいのは、一度にXMLファイルの一部のみをプル・パース(そして処理)することで、メモリ全体をロードするのではなく、 Stax(少なくともこれらのXMLファイル)は面倒です、私は大量のコードを書く必要があります。 XMLファイルをJavaオブジェクト(JAX-Bのようなもの)にマーシャリングすることができれば、この後者の観点から私は非常に助けになります。しかし、これはファイル全体とメモリ内の大量のObjectインスタンスを一度に読み込みます。非常に大きなXMLファイルの解析とJavaオブジェクトへのマーシャリング
私の質問は、ファイルを順番に解析(または部分的に解析)し、それらの部分だけをJavaオブジェクトにマーシャリングする方法があるため、メモリに邪魔されることなく簡単に処理できますか?
あなたの問題が解決されたことを知ってよかったです。これは私が投稿したものとはどのように違うのですか? – Kashyap
まあ、正直言って、それは大きなフレームワークの一部の恐怖でした:)(どちらも悪く残念です)。まず、EMFはかなり複雑なフレームワークのようですが、XML処理だけではなく、他の多くのもののために、私はいつも可能な限り重いフレームワークを避けようとしています(これは単なる個人的好みです。一般的にそれをするのは悪いと言っている)。第2に、私は怠惰であり、EMFは非標準のXML解析APIを使用しています。これは標準のJava XML APIを使用してソリューションを選んだためです。 –
実際、EMFが好きか否かにかかわらず、私はそれを使用しないことをお勧めします(「** EMFはそのような小さな問題の大きなハンマーです**」)。そして、パーサーをもう一度引用するために "**あなたが欲しいものを何でも使用して解析します**、ループ内でのStringStreamか何かを作成し、** JAX-BまたはEMFに渡します**" –
Kashyap