在iPhone应用程序中创建XML文件

在iPhone应用程序中创建XML文件,iphone,objective-c,xml,Iphone,Objective C,Xml,我有个大问题。 我的程序必须用3个浮点值(加速度计的x、y、z)和一个NSString值(名称)保存一个Xml文件。 我该怎么办? 非常感谢如果您对XML格式没有特定要求,那么您可以使用该类以XML格式归档数据: float x, y, z; NSString *name; NSMutableData *data = [NSMutableData data]; NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWriting

我有个大问题。 我的程序必须用3个浮点值(加速度计的x、y、z)和一个NSString值(名称)保存一个Xml文件。 我该怎么办?
非常感谢

如果您对XML格式没有特定要求,那么您可以使用该类以XML格式归档数据:

float x, y, z;
NSString *name;

NSMutableData *data = [NSMutableData data];
NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];
[archiver setOutputFormat:NSPropertyListXMLFormat_v1_0];
[archiver encodeFloat:x forKey:@"x"];
[archiver encodeFloat:y forKey:@"y"];
[archiver encodeFloat:z forKey:@"z"];
[archiver encodeObject:name forKey:@"name"];
[archiver finishEncoding];
BOOL result = [data writeToFile:@"MyFile" atomically:YES];
[archiver release];
一旦写好,阅读就很简单:

NSData *data = [NSData dataWithContentsOfFile:@"MyFile"];
NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data];
x = [unarchiver decodeFloatForKey:@"x"];
y = [unarchiver decodeFloatForKey:@"y"];
z = [unarchiver decodeFloatForKey:@"z"];
name = [unarchiver decodeObjectForKey:@"name"];
[unarchiver finishDecoding];
[unarchiver release];

非常感谢。我有一个问题,文件存储在哪里?它可以在任何你想要的地方。例如,您可以将其存储在应用程序支持文件夹中(请参阅)。