NSXMLElements 在关闭 TAG 之前换行 - Cocoascript

NSXMLElements breaking line before close TAG - Cocoascript

我正在创建一个 XML 文件。我需要的是在关闭 TAG 之前换行 我的预期打印输出是

<View 
    x=“0” y=“0" 
    width=“464” height=“287">
</View>

相反,我的输出如下:

<View 
    x=“0” y=“0" 
    width=“464” height=“287"></View>

这是我的代码:

var layerElement = [NSXMLElement elementWithName:@"View"];
[layerElement addAttribute:[NSXMLNode attributeWithName:@"\n \tx" stringValue:layerXpos]];
[layerElement addAttribute:[NSXMLNode attributeWithName:@"y" stringValue:layerYpos]];
[layerElement addAttribute:[NSXMLNode attributeWithName:@"\n \twidth" stringValue:layerWidth]];
[layerElement addAttribute:[NSXMLNode attributeWithName:@"height" stringValue:layerHeight]];
[root addChild:layerElement];

在文档页面中,我只找到了一些关于 compact/expand 空标签 (NSXMLNodeOptions) 的参考,但没有找到非空标签的格式。

我找到了一个解决方案,比预期的要简单:

var layerElement = [NSXMLElement elementWithName:@"View" stringValue:"\n"];

只需将新行 (@"\n") 属性添加到 stringValue 参数,一切正常。

如果其他人知道更好的方法,请添加您的答案。