使用MonoTouch/MonoGame,我試圖在我的應用程序包中包含一個自定義XML文件以供我的代碼使用,但我並不熟悉正確的方式。我已將XML文件包含在我的項目中,並將其標記爲「內容」,因此應將其複製到應用程序包中。如何在iOS的MonoTouch/MonoGame中從我的應用程序包中讀取XML資源文件?
在這種情況下,我想加載一些我已經定義的XML地圖數據(XML格式是規定的,所以我不能改變它),同時保留在XNA下運行相同代碼的能力PC。我還沒有很幸運地找到iOS上的正確機制。我會期待像下面這樣的東西,但是mapPath會變成空(可能我只是誤解了API的正確使用)。
#if WINDOWS
Stream s = Assembly.GetExecutingAssembly().GetManifestResourceStream("MyApp.Maps." + map + ".xml");
#else
string mapPath = NSBundle.MainBundle.PathForResource(map,"xml");
Stream s = new FileStream(mapPath, FileMode.Open, FileAccess.Read);
#endif
任何提示?
不幸的是,這使得我改變我的解析例程來使用XDocument。我真的不想完全改變我的代碼...我只需要得到一個處理文件。 ( – JesterScribble 2011-07-03 11:23:54
)如果你的文件被標記爲內容,你應該可以通過將相對路徑傳遞給FileStream()來打開它,就像我用XDocument調用一樣。你正在做的事情是獲取資源路徑不應該被需要。 – Jason 2011-07-03 12:34:57