次の行に予期しないドキュメントの終わりがあります。
Document xmlDoc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(inputStream);
手がかりはありますが、私の間違いはSAX不全麻痺とは関係がないのではないかと思います。これが私の簡略化されたコードフラグメントです。
public boolean createDataList(InputStream inputStream) {
try {
XmlHelper xmlHelper = new XmlHelper();
ArrayList<Category> categories = xmlHelper.getCategoriesFromXml(inputStream);
ArrayList<Budget> budgetEntries = xmlHelper.getBudgetFromXml(inputStream);
ArrayList<StandingOrder> standingOrders = xmlHelper.getOrdersFromXml(inputStream);
return true;
} catch (Exception e) {
return false;
}
}
3つのArrayListゲッターが、問題の原因となっている行を指しています。それらはすべて同じInputStreamを使用します。すべての方法はほとんど同じです、そして私はそれらがうまくいくと確信しています...ちょうど別々に。最初の配列ゲッターのみが正常に実行され、2番目と3番目の配列ゲッターは常に失敗します。順序に関係なく、最初の配列は正常に実行されます。
同じInputStreamを使用することに何か問題があるのではないかと疑っています。各配列ゲッターの後で入力を閉じようとしていましたが、効果はありませんでした。手がかりを教えてください。本当にありがたいです