我真的迷失在这里,我正试图找到解决xml解析,阅读和写作的方法。
我有这个应用程序,我可以在某一时刻输入数据,例如日期和时间 - 点击保存,一旦保存,它将写入现有的XML文件,供以后阅读,并将其添加到以这样的格式结束:
<Units> <item> <date>27-5-12</date> <time>15:30</time> </item> <item> ... and so on ... </Units>
我设法读取了一个xml文件,但我真的很难打开一个预制的现有文件进行阅读或写作。
目前我尝试了这段代码:
InputStream raw = this.getAssets().open("mydata.xml");
Reader is = new BufferedReader(new InputStreamReader(raw, "UTF8"));
返回文件未找到异常。
任何人都可以指导我寻找我应该寻找的东西吗?
感谢。
答案 0 :(得分:2)
如上所述,您的源XML文件位于APK的资源目录中 - 您APK中的所有内容都是只读的,因此您将无法写入该文件。 (另外,您可能应该将该XML数据放入res / xml目录而不是assets目录,除非您有其他令人信服的理由。)
如果XML文件不是很长/很复杂,您可以将资产文件读入结构,然后将新数据添加到该结构中,并使用更新的数据将新XML文件写入应用程序的数据目录。这种方法的优点是,每个应用程序可以将多个源文件提供给一个主文件。
更灵活,开放式的选项是设置数据库表。首次安装应用程序时,使用资产文件中的数据加载/更新表。随着您的应用不断添加带时间戳的数据,您只需向表中添加新行即可。这种方法还具有以下优点:您可以轻松地更新每个应用程序更新的源数据或数据库结构 - 如果内部以XML格式存储旧数据,则比较旧数据和新数据更难。
答案 1 :(得分:0)
我在项目中没有看到assets文件夹,我将xml文件放在那里,现在可以正常工作了:)