我想在iPhone应用程序中解析和XML文件,而不需要去磁盘。 我可以这样做吗?怎么样?我在使用MSVC的应用程序中包含了一个TXT帮助文件。
我将XML文件放在项目中名为Resources的文件夹/组中
我在proj目录中有XML文件
我右键单击了Resources文件夹并选择了 add - >现有文件。
我右键单击XML文件并选择 GetInfo 。
我尝试改变路径类型{绝对,相对于项目等} 我使用时,我的程序在模拟器上运行良好:
NSString * const DG_XmlRecipeFile = @"/Users/appleuser/Cocoa/iHungry6/Recipes.xml";
在我看来,它也适用于:
NSString * const DG_XmlRecipeFile = @"Recipes.xml";
如果我正确设置了路径类型。它没有。
我是第一个计时器。感谢您阅读此内容,Mark
答案 0 :(得分:3)
Xcode将项目资源复制到应用程序包。您可以按如下方式访问捆绑包中的文件:
NSString *DG_XmlRecipeFile = [[NSBundle mainBundle] pathForResource:@"Recipes" ofType:@".xml"];
捆绑包中的文件是只读的。如果要修改文件,则需要将其复制到可以修改的位置。您的应用程序的文档目录适用于此。
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docsDirectory = [[paths objectAtIndex:0] retain];
NSString *newFilePath = [docsDirectory stringByAppendingPathComponent:@"Recipes.xml"];
NSError *error = nil;
[[NSFileManager defaultManager] copyItemAtPath:DG_XmlRecipeFile toPath:newFilePath error:&error];
答案 1 :(得分:1)
我认为您所指的路径类型不是生成的应用包中的资源路径。这是在.proj文件中引用文件的方式。