2

我将employeedetailxml 放入名为“res\raw”的文件夹中。当我尝试通过指定文件和文件夹名称打开它时,我收到错误“找不到文件”。

如何指定文件的路径?

我更希望能够通过“ R.raw.employeedetailxmlFileInputStream来指定它打开该文件。那可能吗?(我试了一下,报错了。)

可以FileInputStream将资源 ID 作为参数吗?

try{
   SAXParserFactory spf=SAXParserFactory.newInstance();
   SAXParser sp=spf.newSAXParser();
   XMLReader xr=sp.getXMLReader();

   EmployeeDetailHandler empDetailHandler=new EmployeeDetailHandler();
   xr.setContentHandler(empDetailHandler);

   xr.parse(new InputSource(new FileInputStream("\\res\\raw\\employeedetailxml.xml")));
}
4

4 回答 4

8

是的,您可以使用类似于 pass 的东西R.raw.employeedetailxml。您只需要使用该资源名称获取资源 XML 文件,如下所示:

InputStream ins = getResources().openRawResource(R.raw.file_name);
于 2011-10-07T06:11:35.317 回答
5

试试这个:

InputStream inputStream =
    getResources().openRawResource(R.raw.employeedetailxml);
于 2011-10-07T06:08:43.490 回答
4

this.getResources().openRawResource()返回一个InputStream可能会帮助您解析 xml 的值。

于 2011-10-07T06:16:07.547 回答
1

如果将您的 xml 文件放在 assets 下并没有什么坏处,您可以试试这个:

AssetManager manager = getAssets();
InputStream inputStream = manager.open("pathUnderAssets/filename.xml");    

请注意,getAssets() 调用是根据上下文进行的。因此,您必须在不是 Activity 的类中使用上下文调用它。

于 2014-03-05T22:59:21.943 回答