使用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