objective-c – Cocoa – 如何格式化XML文件

objective-c – Cocoa – 如何格式化XML文件,第1张

概述有没有办法在编程时以正确的方式格式化 XML文件? 例如,如果我使用此代码创建一个简单的XML文件: NSXMLElement *fallback_driver = [[NSXMLElement alloc] initWithName:@"fallback-driver"];NSXMLElement *folder = [[NSXMLElement alloc] initWithName:@" 有没有办法在编程时以正确的方式格式化 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’方法(如你所说 – 但是认为数据更多适当的),但产生了相同的警告.

有任何想法吗?非常感谢!

解决方法 您可以使用以下命令输出格式良好的XML字符串:

Nsstring* string = [xmlNode XMLStringWithOptions:NSXMLNodePrettyPrint];

请注意,因为NSXMLdocument和NSXMLElement是NSXMLNode的子类,所以您也可以对这些类执行此 *** 作.

如果你想要NSData而不是字符串,只需:

NSData* xmlData = [xmlNode XMLDataWithOptions:NSXMLNodePrettyPrint];
总结

以上是内存溢出为你收集整理的objective-c – Cocoa – 如何格式化XML文件全部内容,希望文章能够帮你解决objective-c – Cocoa – 如何格式化XML文件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1017373.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-23
下一篇2022-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存