2011-10-07 84 views
2

我把我的employeedetailxml到一个名为“资源\原始”文件夹中。当我尝试通过指定文件和文件夹名称来打开它时,出现“找不到文件”错误。指定的文件夹路径,XML文件中的Android

如何指定的路径,我的档案?

我更希望能够通过'R.raw.employeedetailxml'至FileInputStream指定它打开该文件。那可能吗? (我试了一下,得到了一个错误。)

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"))); 
} 

回答

8

是的,你可以使用类似于通过R.raw.employeedetailxml东西。你只需要使用资源名称,以获取资源的XML文件,像这样:

InputStream ins = getResources().openRawResource(R.raw.file_name); 
+0

谢谢你,它工作正常 –

5

试试这个:

InputStream inputStream = 
    getResources().openRawResource(R.raw.employeedetailxml); 
+0

谢谢老兄它可以100% –

4

this.getResources().openRawResource()返回InputStream,可能会帮你解析XML。

1

如果把你的xml文件下的资产不受到伤害,你可以试试这个:

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

请注意,getAssets()调用的情况下做出。所以,你必须在不是Activity的类中使用上下文来调用它。

相关问题