0

Androidでここに引用されているものと同じ問題を抱えています。

与えられた解決策は、入力ストリームではなく URI を使用することでした。

APIが示すようにinputStreamを使用できると思いますが、parseメソッドで例外を発生させているストリームに明らかに問題があります。すべてのデータがストリームに送られていることを確認できます。SAXParseException は、-1 を返す getColumnNumber メソッドを使用できるため、すべてのデータが parse メソッドに送られていることを示しています (ストリーム全体が読み取られたことを示します)。しかし、解析メソッドがこれをストリームの終わりとして認識していないように見えるため、「予期しないファイルの終わり」(?) が発生します。

parse メソッドへの入力として URI ではなく入力ストリームを使用する方法を教えてください。

4

1 に答える 1

1

私はこの問題を抱えていましたが、原因は入力ストリームを間違ったエンコーディング形式で受け入れていたことです。最初に正しいエンコーディングに入れていることを確認してから (おそらく byte[] として読み込んで String(byte[], String) コンストラクターを使用して)、SAX パーサーに渡してみてください。

また、Android で XML を解析したい場合は、Android の Simple ライブラリを使用する方がよいでしょう。

于 2011-04-24T05:01:05.970 に答える