
例如,如果我使用此代码创建一个简单的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’方法(如你所说 – 但是认为数据更多适当的),但产生了相同的警告.
有任何想法吗?非常感谢!
解决方法 您可以使用以下命令输出格式良好的XML字符串:Nsstring* string = [xmlNode XMLStringWithOptions:NSXMLNodePrettyPrint];
请注意,因为NSXMLdocument和NSXMLElement是NSXMLNode的子类,所以您也可以对这些类执行此 *** 作.
如果你想要NSData而不是字符串,只需:
NSData* xmlData = [xmlNode XMLDataWithOptions:NSXMLNodePrettyPrint];总结
以上是内存溢出为你收集整理的objective-c – Cocoa – 如何格式化XML文件全部内容,希望文章能够帮你解决objective-c – Cocoa – 如何格式化XML文件所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)