2011-10-07 117 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的類中使用上下文來調用它。