在应用程序中将数据写为XML

时间:2009-08-20 19:05:27

标签: iphone objective-c xml

将数据从类存档到XML并将其写入文件的好方法是什么? (在SDK SDK的Objective-C中)

我看到很多关于使用NSXMLParser来解析数据,但没有太多关于创建文件。

1 个答案:

答案 0 :(得分:2)

由于您要求最简单方式...如果您可以将数据放入数组或字典中,您可以将其写为带有一行代码的XML plist:

NSMutableDictionary* data = [NSMutableDictionary 
                            dictionaryWithContentsOfFile:saveDataPath];

[data writeToFile:saveDataPath atomically:YES];

字典和数组可以包含其他字典和数组作为值,以帮助建模嵌套层次结构。

由于您只能在运行时写入Documents文件夹,因此您需要这样的东西来建立路径:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, 
                                                     NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString* saveDataPath = [documentsDirectory 
                          stringByAppendingPathComponent:SAVEFILENAME];

对于对象的自定义编组,您需要查看NSCoding和档案。大多数XML库都没有处理生成,所以你必须自己动手。

另一种选择是采用CoreData方式,让它为您完成阅读和写作。但它目前支持SQLite,二进制和内存持久性存储,所以还没有XML。