【问题标题】:How to load an xml file from android's assets folder by name如何按名称从android的资产文件夹中加载xml文件
【发布时间】:2011-02-17 22:51:29
【问题描述】:

我正在尝试使用此方法按名称加载位于 android 项目的 /assets 文件夹中的 xml 文件:

getAssets().openXmlResourceParser("thefilename.xml");

但是,执行此代码总是会引发“FileNotFound”异常,即使该文件位于 /assets 文件夹中并且具有正确的文件名。 现在,我没有将文件放在 /res/xml 文件夹中,因为我真的需要能够 1. 在设备本身上编辑文件,最重要的是 2. 在不发布更新的情况下将新的 xml 文件添加到应用程序,以方便用户修改。 提前致谢。

【问题讨论】:

    标签: android xml file-io


    【解决方案1】:

    我认为您要查找的是 getAssets().open("thefilename.xml")getAssets().openFd("thefilename.xml"),具体取决于文件的最终用途。您可以从 Dianne 不久前在这篇文章中的回复中看到,openXmlResourceParser() 仅用于访问 assets/ 目录中的文件并不能真正使用:http://goo.gl/2KfgT

    从那里您将获得一个流,您可以将其输入 SAXParser 或执行您选择的任何其他操作。

    旁注:在您提到的几点上,您确实不能直接在 assets/ 中编辑文件或在运行时将新文件添加到 assets/ 中。您将需要使用内部或外部存储上的文件来执行这些操作。你可能已经知道了,但我想我会提到它。

    希望有帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-21
      • 2011-08-04
      • 1970-01-01
      • 2014-12-28
      • 1970-01-01
      • 2014-05-16
      • 1970-01-01
      相关资源
      最近更新 更多