我写了一个程序,生成一个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