XMLファイルをプログラムで作成するときにXMLファイルを適切にフォーマットする方法はありますか?私は、単純なXMLファイルを作成するために、このコードを使用している場合Cocoa - XMLファイルをフォーマットする方法
たとえば、:
NSXMLElement *fallback_driver = [[NSXMLElement alloc] initWithName:@"fallback-driver"];
NSXMLElement *folder = [[NSXMLElement alloc] initWithName:@"folder"];
[folder setStringValue:[ads_make objectValueOfSelectedItem]];
NSXMLElement *filename =[[NSXMLElement alloc] initWithName:@"filename"];
[filename setStringValue:ads_driver_name_selected];
[fallback_driver addChild:folder];
[fallback_driver addChild:filename];
NSXMLElement* rootNode = [ads_user_printxml rootElement];
[rootNode addChild:fallback_driver];
をこれが実行されると、私は下の画像では、コメントセクション、ないあたりのように出力したいです実際のXML(コメントは付けられていません)。私はそのようにXMLファイルをフォーマットするにはどうすればよい
?ありがとう!
P.S.しかし、私は保存するためのNSDataに私が持っているNSXMLDocumentを変換したいの答えのための
おかげで... ...
私は警告その取得していますが、私は
NSData *newData = [[ads_user_printxml XMLDataWithOptions:NSXMLNodePrettyPrint]XMLData];
をしようとしています「NSData」は「-XMLData」に応答しない可能性があります。以前はXMLDataWithOptionsを追加していましたが、これはうまくいきました。「XMLStringWithOptions」メソッドを試しました。生成されました。
デア?どうもありがとう! NSXMLDocument
とNSXMLElement
がNSXMLNode
のサブクラスであるため、あなたはまた、これらのクラスでこれを行うことができます
NSString* string = [xmlNode XMLStringWithOptions:NSXMLNodePrettyPrint];
注:出力きれいにフォーマットXML文字列を使用して、次のことができます
おかげで..私は元の質問を少し修正している..あなたはとても親切私に与えるようになる場合さらにNSDataに実際にどのように保存できるかについてのヒントがあれば、私は非常に感謝しています。私は元の質問でそれを言及すべきだった。ありがとう。 – Kevin
私は自分の答えを更新しました。結果に対して 'XMLData'を呼び出すことを除いて、質問に対するあなたの編集は正しいです。 'XMLDataWithOptions:'の出力は 'NSData'オブジェクトではなく' NSData'オブジェクトであるため、これはうまくいかず、不要です。 –
素晴らしい作品です、ありがとうRob! – Kevin