2011-12-07 129 views
3

我正在處理一個android應用程序,我想將xml文件解析爲本地資源。我用jdom解析它,但是我有一個問題,我無法打開文件,我不知道爲什麼。錯誤在這一行:無法在android上打開xml文件

document = builder.build(new File("res/xml/data.xml")); 

該文件位於我的項目文件夾res/xml中。我得到這個錯誤:

java.io.IOException: Couldn't open file:/res/xml/data.xml 
Caused by java.io.FileNotFoundException :res/xml/data.xml 

我嘗試這樣做:

document = builder.build(new File("data.xml")); 

,但沒有奏效。我不知道爲什麼沒有找到該文件。

你有想法嗎?

在此先感謝


謝謝您的建議。 'Uri路徑'有效但不行

document = builder.build(new File(path)); 

方法類文件必須具有類型entree字符串。我嘗試這樣做:

document = builder.build(new File(path.getPath()); 

但它返回null和

document = builder.build(new File(path.toString()); 

我得到了同樣的錯誤。你有想法嗎? 在此先感謝!

回答

1

如果這是您的應用程序中的資源,那麼您應該使用Resources方法,例如getXml()。你可以從上下文對象中獲取一個類的實例

0
InputStream is = context.getResources().openRawResource(R.raw.data); 

BufferedReader br = new BufferedReader(new InputStreamReader(is)); 

document = builder.build(br); 

務必把data.xml中在res /原始文件夾中。