writeData问题

时间:2010-05-31 14:19:42

标签: iphone objective-c file

我的代码有问题。 我想创建一个这样的XML文件:

<name>myName<name>
 <x>myX<x>
 <y>myY<y>
 <z>myZ<z>

但我的档案是:

<name>myName<name><x>myX<x><y>myY<y><z>myZ<z>

我可以使用此文本格式吗? 这是我的代码:

-(void)salvataggioInXML:(NSString*)name:(float)x:(float)y:(float)z{

 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,  NSUserDomainMask, YES);
 NSString *documentsDirectoryPath = [paths objectAtIndex:0];
 NSString *filePath = [documentsDirectoryPath  stringByAppendingPathComponent:@"filePosizioni.xml"];
 NSFileHandle *myHandle = [NSFileHandle fileHandleForUpdatingAtPath:filePath];
 [myHandle seekToEndOfFile];

 NSString *tagName = [NSString stringWithFormat:@"<name>%@<name>", name];
 NSString *tagX = [NSString stringWithFormat:@"<x>%f<x>", name];
 NSString *tagY = [NSString stringWithFormat:@"<y>%f<y>", name];
 NSString *tagZ = [NSString stringWithFormat:@"<z>%f<z>", name];

 NSData* dataName = [tagName dataUsingEncoding: NSASCIIStringEncoding];
 NSData* dataX = [tagX dataUsingEncoding: NSASCIIStringEncoding];
 NSData* dataY = [tagY dataUsingEncoding: NSASCIIStringEncoding];
 NSData* dataZ = [tagZ dataUsingEncoding: NSASCIIStringEncoding];

 [myHandle writeData:dataName];
 NSLog(@"writeok");

 [myHandle seekToEndOfFile];
 [myHandle writeData:dataX];
 NSLog(@"writeok");

 [myHandle seekToEndOfFile];
 [myHandle writeData:dataY];
 NSLog(@"writeok");

 [myHandle seekToEndOfFile];
 [myHandle writeData:dataZ];
 NSLog(@"writeok");

 [myHandle seekToEndOfFile];

 NSLog(@"zp26 %@",filePath);


}

1 个答案:

答案 0 :(得分:3)

您可以在格式中添加换行符。例如:

NSString *tagX = [NSString stringWithFormat:@"<x>%f<x>\n", name];