2011-12-06 36 views
1

配列と辞書を含む.plistファイルがあります。これをCSVファイルに変換して、データベースにオンラインでアップロードすることができます。誰かがこれを行う簡単な方法を知っていますか?plistをCSVファイルに変換しますか?

答えて

4

を書いた次のコード

NSString* plistPath = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"plist"]; 
    NSArray *commentArray = [NSArray arrayWithContentsOfFile:plistPath]; 

    NSMutableString *mainString=[[NSMutableString alloc]initWithString:@""]; 
    for(int i=0;i<[commentArray count];i++) { 
     NSString *string=[[commentArray objectAtIndex:i]objectForKey:@"cmtName"]; 
     string=[string stringByReplacingOccurrencesOfString:@"\"" withString:@"\"\""]; 
     [mainString appendFormat:@"\"%@\"",string]; 

     string=[[commentArray objectAtIndex:i]objectForKey:@"cmtDesc"]; 
     string=[string stringByReplacingOccurrencesOfString:@"\"" withString:@"\"\""]; 
     [mainString appendFormat:@",\"%@\"",string]; 

     string=[[commentArray objectAtIndex:i]objectForKey:@"cmtType"]; 
     string=[string stringByReplacingOccurrencesOfString:@"\"" withString:@"\"\""]; 
     [mainString appendFormat:@",\"%@\"",string]; 

     [mainString appendFormat:@",\"%@\"",string]; 
     [mainString appendFormat:@"\n"]; 
    } 


NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectoryPath = [paths objectAtIndex:0]; 
NSString *filePath = [documentsDirectoryPath stringByAppendingPathComponent:@"Docment.conf"]; 


NSData* settingsData; 
settingsData = [mainString dataUsingEncoding: NSASCIIStringEncoding]; 

if ([settingsData writeToFile:filePath atomically:YES]) 
    NSLog(@"writeok"); 
を見て

https://github.com/davedelong/CHCSVParserを使用してCSVを生成することもできます。

関連する問題