0

私は、xmlファイルを受け取り、それを別のクラスに渡し、いくつかのコメントを含むhtmlファイルをクライアントに返すサーブレットを作成しています。次のようなinput-xmlを取得しています:

input = request.getInputStream();

ただし、この入力はServletInputStreamであり、他のクラス(コメント用)にはFileInputStreamが必要です。

XMLEventReader(他のクラス)にServletInputStreamを指定すると、解析エラーが発生します。

ParseError at [row,col]:[1,1]
Message: Content is not allowed in prolog.

そして、これはfileinputstreamではなくservletinputstreamが原因だと思います。

ご挨拶私は誰かが私を助けることができることを願っています:)

4

3 に答える 3

3

後者の問題がであることが原因である可能性は低いと思いますServletInputStream。パーサーはデータのソースを気にする必要はありません。

入力ストリームのデータが正しくない可能性がかなり高いと思います。

現在必要なクラスは可能な限り動作するようFileInputStreamにリファクタリングする必要があります...そうでない場合は、最初に実際のファイルにデータを書き込む必要がありますが、これは明らかに理想的ではありません。InputStream

于 2010-08-10T10:51:04.177 に答える
0

ServletInputStreamからデータを読み取り、それをFileOutputStreamにダンプする必要があります。このようにして、送信されているデータを確認し、FileInputStreamを使用して、データを必要とする説明したクラスでそのデータを個別にテストできます。前のポスターが示唆したように、データはおそらく間違った形式であるため、今起こっているのと同じことが起こると思います。

于 2010-08-10T10:56:24.033 に答える
0

さて、私は今少し賢くなっています:)問題は次のとおりです:ServletInputStreamの最初(そして最後に1行)にいくつかのヘッダー情報(コンテンツタイプなど)があります。この情報を削減するための賢い解決策はありますか?

あいさつ

于 2010-08-10T11:39:08.637 に答える