我遇到setInput()方法的问题。当我提供普通的StringReader并解析XML
时locationsXml.setInput(new StringReader("<locations>" + "<location>" etc.[...]
一切顺利,但如果我想从资源加载文件:
locationsXml.setInput(new FileReader("res/xml/locations.xml"));
未加载文件。
问题出在哪里?
答案 0 :(得分:0)
您已从资源中的文件创建一个Inputstream(前提是资源xml位于'assets'文件夹中)。您可以使用以下方法控制该资源:
context.getAssets.open(文件名);
例如 - InputStream myInput = myContext.getAssets()。open(locations.xml);
现在 - 您可以使用此inputStream执行任何操作。
或者
将xml放入/ res / raw文件夹。看起来openRawResource只打开该文件夹中的资源。您也可以尝试getResources()。getXml(com.MYCLass.R.xml.programs);这将返回XML解析器的实例。
InputStream object = this.getResources() .openRawResource(R.raw.fileName);