xml ファイルを生成するプログラムを作成しました。空の要素がxmlファイルに次のように表示されることを除いて、すべて正常に機能します
<key id="0"><key/>
それ以外の:
<key id="0"/>
これにより、xml へのアクセス時にエラーが発生します。
PSここに保存されているDTDに従う必要があります:/System/Library/DTDs/KeyboardLayout.dtd
これは、NSXMLElements を作成する方法です。
NSXMLElement* space = [[NSXMLElement alloc] initWithName:@"key"];
[space addAttribute:[NSXMLNode attributeWithName:@"id" stringValue:[NSString stringWithFormat:@"0"]]];
私の質問は、上記のコードをどのように変更して、2 番目の例に示すように xml ノードを生成するかです。
アップデート:
提案どおりに NSXMLCompactEmpyElement オプションを使用し、NSXMLNodePrettyPrint オプションも使用しました。そうしないと、すべてのノードが 1 行に表示されます。
NSData *xmlData = [mapping XMLDataWithOptions:NSXMLNodeCompactEmptyElement | NSXMLNodePrettyPrint];
[xmlData writeToFile:path atomically:YES];