私は小さなテストAndroidアプリで基本的なxmlファイルを解析しようと戦ってきました。
私が持っているコードは次のとおりです。
InputStream is = getResources().openRawResource(R.xml.content);
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
try {
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(is,"UTF-8"); //Blows up right here.
// Bunch more stuff here
}
私のxmlは次のようになります。
<?xml version="1.0" ?>
<main>
<background>
<defintion>This is a test</defintion>
</background>
</main>
問題は、これを解析しようとするとorg.xml.sax.SAXParseException: Unexpected token (position:TEXT unprintable characters here ...@3:252 in java.io.InputStreamReader@411f3898)
エラーが発生することです。私はグーグルで検索しましたが、見つけた他のすべてのソリューションは機能していないようです。
ファイルがUTF-8であることを再確認し、メモ帳++を使用してUTF-16とUTF-8の間でエンコードを変更し(BOMの有無にかかわらず試行)、これを適切に反映するようにプログラムを更新しましたが、私はそうします、私はいつもこのエラーを受け取ります。私は非常に明白な何かを見逃しているに違いないと確信していますが、どのような一連の組み合わせを試しても、これは常に失敗します。