我在行上有意外的文档结尾:
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 getter 指向导致问题的行。它们都使用相同的 InputStream。所有方法都几乎相同,我相信它们可以正常工作......只是分开。只有第一个数组 getter 成功执行,第二个和第三个总是失败,不管它是什么顺序,第一个都很好。
我怀疑使用相同的 InputStream 有问题,我试图在每个数组 getter 之后关闭输入 - 没有效果。请给我一些线索。我真的很感激