2017-01-18 3 views
0

私はXMLデータジェネレータを使用しているプロジェクトに取り組んでいます。ジェネレータは、いくつかのソケットを使用して読み込んだポートを介してデータを格納します。私はStAXを使用してデータを解析するスクリプトにデータを解析します。Javaではファイルの代わりに連続ストリームでXMLを解析する

私が持っている問題は、データの解析に関係しています。 Web上の誰もがXMLファイルを使用してデータを取得していますが、それは私にとっては有用ではありません。ジェネレータは毎分約60メガバイト(約200万行)を生成するので、ファイルは非常に便利だとは思わない。また、同時にファイルからデータを書き込み、読み取り/削除します。

ファイルの代わりにストリームからStAXを介してXMLデータを解析するために何を使用するかについての提案はありますか?

+1

'File'(または他のファイルベースのパラメータ)ではなく' InputStream'を受け取るコンストラクタを見ましたか? – Kayaman

+0

興味があれば[いくつかのチュートリアル](https://softwarecave.org/2014/02/18/parse-xml-document-using-streaming-api-for-xml-stax/) –

+0

私はInputStreamを使用しようとしましたがそれはうまくいかなかった。 @Kayaman – tehbobshow

答えて

2

javax.xml.stream標準からのXMLInputFactory.createXMLStreamReaderパッケージは、データ源としてReaderを取ります。 Readerは、InputStreamから読み取ることができますが、必ずしもファイルから読み取る必要はありません。

どのStAXライブラリを使用しても、一般的な入力を読み取ることができます。Reader/InputStream

関連する問題