2012-08-01 23 views
0

我寫了一個程序,生成一個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]; 

回答

1

你到底是怎麼寫出來的?在任何情況下,您正在查找的選項是NSXMLNodeCompactEmptyElement,例如,在節點上是XMLStringWithOptions:的有效選項。

+0

修復了問題thx XD – 2012-08-01 06:59:47

相關問題