我试图使用dom XML解析器但是它崩溃了IOException
Document doc = builder.parse(file);
代码:
try {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
File file = new File(getResources().getResourceName(R.raw.fooddata));
Document doc = builder.parse(file);
}catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
}
我认为文件路径有问题。 fooddata.xml文件位于/res/xml/fooddata.xml& /res/raw/fooddata.xml,我尝试过以不同的方式访问它,但没有任何作用。
我从try / catch
获得IOException如何让builder.parse(文件)生效?
答案 0 :(得分:0)
fooddata.xml文件位于/res/xml/fooddata.xml& /res/raw/fooddata.xml
这些是开发计算机上的文件 。它们是Android设备上的不是文件。资源只是设备上APK文件中的条目。
替换:
File file = new File(getResources().getResourceName(R.raw.fooddata));
Document doc = builder.parse(file);
使用:
Document doc=builder.parse(getResources().openRawResource(R.raw.fooddata));