有没有一种方法可以在以编程方式创建 XML 文件时以正确的方式格式化它?
例如,如果我使用此代码创建一个简单的 XML 文件:
NSXMLElement *fallback_driver = [[NSXMLElement alloc] initWithName:@"fallback-driver"];
NSXMLElement *folder = [[NSXMLElement alloc] initWithName:@"folder"];
[folder setStringValue:[ads_make objectValueOfSelectedItem]];
NSXMLElement *filename =[[NSXMLElement alloc] initWithName:@"filename"];
[filename setStringValue:ads_driver_name_selected];
[fallback_driver addChild:folder];
[fallback_driver addChild:filename];
NSXMLElement* rootNode = [ads_user_printxml rootElement];
[rootNode addChild:fallback_driver];
当它运行时,我想按照下图中的注释部分输出,而不是实际的 XML(未注释)。
如何以这种方式格式化 XML 文件?谢谢!
附言
感谢您的回答。但是,我想将我拥有的 NSXMLDocument 转换为 NSData 以保存...
我在尝试
NSData *newData = [[ads_user_printxml XMLDataWithOptions:NSXMLNodePrettyPrint]XMLData];
但是我收到警告说“'NSData'可能不会响应'-XMLData',在我添加XMLDataWithOptions之前它工作正常。我还尝试了'XMLStringWithOptions'方法(如你所说 - 但认为数据更多适当),但产生了相同的警告。
有任何想法吗?非常感谢!