我寫了一個程序,生成一個xml文件;一切工作正常,除了空元素出現 作爲XML文件Objective C - Empyt元素
<key id="0"><key/>
如下代替:
<key id="0"/>
當XML訪問這會導致錯誤。
P.S.我已經遵循存儲到DTD這裏:/System/Library/DTDs/KeyboardLayout.dtd
這是我如何創建NSXMLElements:
NSXMLElement* space = [[NSXMLElement alloc] initWithName:@"key"];
[space addAttribute:[NSXMLNode attributeWithName:@"id" stringValue:[NSString stringWithFormat:@"0"]]];
所以我的問題是,如何在上面的代碼進行修改,我爲了產生XML節點如第二個例子所示?
UPDATE:
使用的NSXMLCompactEmpyElement選項的建議,並且還使用了NSXMLNodePrettyPrint選項其他所有節點出現在一行。
NSData *xmlData = [mapping XMLDataWithOptions:NSXMLNodeCompactEmptyElement | NSXMLNodePrettyPrint];
[xmlData writeToFile:path atomically:YES];
修復了問題thx XD – 2012-08-01 06:59:47