我无法从assets目录加载xml文件。 使用的代码(只是改变了路径)我得到不同的结果(OK或NPE /文件损坏)的同一行 “castle1.tmx”(这是一个XML文件)在两个位置被复制的文件:android:如何从资产目录加载xml文件?
- RES/XML/castle1.tmx
- 资产/这条线的水平/ castle1.tmx
,它的工作原理:
XmlResourceParser xrp = ctx.getAssets().openXmlResourceParser("res/xml/castle1.tmx");
,而这条线就ð oesn't:
XmlResourceParser xrp = ctx.getAssets().openXmlResourceParser("assets/level/castle1.tmx");
我得到以下结果:
04-05 21:46:40.940: WARN/ResourceType(29056): Bad XML block: header size 28024 or total size 1702240364 is larger than data size 70441
04-05 21:46:40.940: ERROR/TestParser(29056): Unable to read resource file
04-05 21:46:40.940: WARN/System.err(29056): java.io.FileNotFoundException: Corrupt XML binary file
04-05 21:46:40.940: WARN/System.err(29056): at android.content.res.AssetManager.openXmlAssetNative(Native Method)
04-05 21:46:40.944: WARN/System.err(29056): at android.content.res.AssetManager.openXmlBlockAsset(AssetManager.java:485)
04-05 21:46:40.944: WARN/System.err(29056): at android.content.res.AssetManager.openXmlResourceParser(AssetManager.java:453)
04-05 21:46:40.944: WARN/System.err(29056): at android.content.res.AssetManager.openXmlResourceParser(AssetManager.java:442)
04-05 21:46:40.944: WARN/System.err(29056): at game.test.MapLoader.<init>(MapLoader.java:73)
文件是在这两个案例中发现... 它只是我似乎无法能够使用来自资产目录阅读该方法..
任何想法如何从资产目录加载我的XML文件?
TNX
加载标准XML文件,所以我可以用什么来解析XML文件在/assets/blah.xml中?是否必须手动搜索关键字和属性属性,创建我自己的解析器?没有其他选择? – freeaks 2011-04-05 21:09:25
您始终可以使用Java给出的解析器,例如XPath – Gerard 2013-07-01 13:25:56