2012-04-05 52 views
2

我正在开发一个使用普通java应用程序的代码的android应用程序。 在这个Java应用程序我解析的XML文件,我得到这样的:解析android中的xml文件

File xmlFile = new File("../project/src/resources/words.xml"); 

现在的Android这似乎并没有工作。我得到一个文件未找到异常。 我试图将该文件保存在res/xml目录中,但我不确定如何实现。

我可以使用相同的代码来解析XML,因为我用于我的Java应用程序,或者有没有一种特殊的方式来解析android中的XML文件?

回答

1

什么是../project/src/resources.words.xml?这是开发计算机上的项目目录中的路径名吗?当然,Android程序不会访问您计算机上定义的文件路径。

如果words.xml是您想要访问的静态文件,则应将其包含在项目的/res/raw子目录中。然后,你可以使用文档在这里描述的方法访问它:

http://developer.android.com/reference/android/content/res/Resources.html#openRawResource(int

或者,你可以把它放在/assets并使用此方法:

http://developer.android.com/reference/android/content/res/AssetManager.html

+0

我使用了/ assets方法,它使用了我的旧xml解析方法 – hhh3112 2012-04-18 18:05:21

1

你可以这样做:

InputStream is = this.getResources().openRawResource(resourceId); 
BufferedReader br = new BufferedReader(new InputStreamReader(is)); 
... then read the content of the file as a stream ... 

您的文件必须放在res/raw/yourfileresourceIdR.raw...中对应于您的文件名的整数(R.raw.yourfile