XmlPullParser setInput问题

时间:2013-03-19 22:50:59

标签: android

我遇到setInput()方法的问题。当我提供普通的StringReader并解析XML

locationsXml.setInput(new StringReader("<locations>" + "<location>" etc.[...]

一切顺利,但如果我想从资源加载文件:

locationsXml.setInput(new FileReader("res/xml/locations.xml"));

未加载文件。

问题出在哪里?

1 个答案:

答案 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);