我無法從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