【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"];

    }

    

}

  

你可能感兴趣的:(ios开发)