2009-08-20 12 views
1

クラスからXMLにデータをアーカイブしてファイルに書き出すには、どのような方法が良いですか? (Objective-C for iPhone SDK)データをアプリケーションとしてXMLとして書き込む

NSXMLParserを使用してデータを解析する方法については多くの情報がありますが、ファイルの作成にはそれほど多くはありません。

答えて

2

あなたは最も簡単なな方法を求めているので...あなたは配列や辞書にデータを取得することができます場合は、1行のコードを使用してXML plistのようにそれを書き出すことができます。

NSMutableDictionary* data = [NSMutableDictionary 
          dictionaryWithContentsOfFile:saveDataPath]; 

[data writeToFile:saveDataPath atomically:YES]; 

辞書と配列には、ネストされた階層のモデル化に役立つ値として他の辞書や配列を含めることができます。その後、あなたはNSCodingとアーカイブに見たいと思うでしょう

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, 
                NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString* saveDataPath = [documentsDirectory 
          stringByAppendingPathComponent:SAVEFILENAME]; 

オブジェクトのカスタムマーシャリングの場合:あなたは、実行時にのみドキュメントフォルダに書き込むことができるので

あなたはパスを確立するために、このような何かをしたいでしょう。そこにあるほとんどのXMLライブラリは世代を処理しないので、独自にロールバックする必要があります。

もう一つの選択肢は、CoreDataのやり方で、あなたのために読み書きをすることです。しかし、現在のところ、SQLite、バイナリ、およびインメモリの永続ストアをサポートしているため、XMLはまだありません。

関連する問題