2012-08-01 20 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

相关问题