【IOS开发】创建XML文件
- (void)viewDidLoad { [super viewDidLoad]; NSString *path = [[NSBundle mainBundle] pathForResource:@"items" ofType:@"plist"]; NSDictionary *wed3dDic = [NSDictionary dictionaryWithContentsOfFile:path]; NSArray *wed3dArr = [wed3dDic valueForKey:@"wed3d"]; NSMutableString *xmlString = [NSMutableString stringWithString:@"<?xml version=\"1.0\" encoding=\"UTF-8\"?>"]; [xmlString appendString:@"<wed3d>"]; NSLog(@"%@",xmlString); for (int i =0; i < [wed3dArr count]; i++) { NSDictionary *dic = [wed3dArr objectAtIndex:i]; NSString *contentName = [dic valueForKey:@"contentname"]; if ([contentName isEqualToString:@"scene"]) { NSString *l = [dic valueForKey:@"l"]; NSString *w = [dic valueForKey:@"w"]; NSString *h = [dic valueForKey:@"h"]; [xmlString appendFormat:@"<%@ 1=\"%@\" w=\"%@\" h=\"%@\" />",contentName,l,w,h]; }else if ([contentName isEqualToString:@"objects"]){ [xmlString appendFormat:@"<%@>",contentName]; NSArray *itemArr = [dic valueForKey:@"items"]; for (int j = 0; j<[itemArr count]; j++) { NSDictionary *itemDic = [itemArr objectAtIndex:j]; NSString *itemName = [itemDic valueForKey:@"itemname"]; NSString *x = [itemDic valueForKey:@"x"]; NSString *z = [itemDic valueForKey:@"z"]; [xmlString appendFormat:@"<item name=\"%@\" x=\"%@\" z=\"%@\" />",itemName,x,z]; } [xmlString appendFormat:@"</%@>",contentName]; }else if ([contentName isEqualToString:@"colors"]||[contentName isEqualToString:@"lights"]){ [xmlString appendFormat:@"<%@>",contentName]; NSArray *itemArr = [dic valueForKey:@"items"]; for (int j = 0; j<[itemArr count]; j++) { NSDictionary *itemDic = [itemArr objectAtIndex:j]; NSString *itemName = [itemDic valueForKey:@"itemname"]; NSString *r = [itemDic valueForKey:@"r"]; NSString *g = [itemDic valueForKey:@"g"]; NSString *b = [itemDic valueForKey:@"b"]; NSString *a = [itemDic valueForKey:@"a"]; [xmlString appendFormat:@"<item name=\"%@\" r=\"%@\" g=\"%@\" b=\"%@\" a=\"%@\" />",itemName,r,g,b,a]; } [xmlString appendFormat:@"</%@>",contentName]; }else { NSString *l = [dic valueForKey:@"l"]; NSString *w = [dic valueForKey:@"w"]; NSString *h = [dic valueForKey:@"h"]; [xmlString appendFormat:@"<%@ 1=\"%@\" w=\"%@\" h=\"%@\" >",contentName,l,w,h]; NSArray *itemArr = [dic valueForKey:@"items"]; for (int j = 0; j<[itemArr count]; j++) { NSDictionary *itemDic = [itemArr objectAtIndex:j]; NSString *itemName = [itemDic valueForKey:@"itemname"]; NSString *x = [itemDic valueForKey:@"x"]; NSString *z = [itemDic valueForKey:@"z"]; [xmlString appendFormat:@"<item name=\"%@\" x=\"%@\" z=\"%@\" />",itemName,x,z]; } [xmlString appendFormat:@"</%@>",contentName]; } } [xmlString appendString:@"</wed3d>"]; NSError *error; [xmlString writeToFile:[self dataFilePath:YES] atomically:YES encoding:NSUTF8StringEncoding error:&error]; NSLog(@"%@",wed3dDic); } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; } - (NSString *)dataFilePath:(BOOL)forSave { NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSString *documentsPath = [documentsDirectory stringByAppendingPathComponent:@"xml"]; if (forSave || [[NSFileManager defaultManager] fileExistsAtPath:documentsPath]) { return documentsPath; } else { return [[NSBundle mainBundle] pathForResource:@"xml" ofType:@"xml"]; } }