使用Objective C将xml字符串归档

Posted

技术标签:

【中文标题】使用Objective C将xml字符串归档【英文标题】:xml string to file using Objective C 【发布时间】:2010-08-26 20:30:34 【问题描述】:

如何从 NSString 对象生成 xml 文件?

换句话说,如何从 NSString 对象解析 XML?

【问题讨论】:

【参考方案1】:

如果这是针对 iPhone 的,您可能需要查看this question,它会在 iPhone 上使用用户默认方法进行处理。

作为参考,在 Mac OS X 上可以使用writeToFile:atomically:encoding:error: NSString 方法。

编辑:要解析 NSString 中的 XML,您可以使用 NSXMLParser 类。这个类没有用NSString初始化它的方法,所以你必须像这样使用它的initWithData:方法:

NSData *data = [myString dataUsingEncoding:NSUTF8StringEncoding];
NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithData:data];

这将使用NSString 的数据对其进行初始化。

当然,您必须学习如何使用此类解析 XML 本身。您可以查看this question 以获取一些提示,或者您可以搜索一些教程,例如Apple 自己的walkthrough。这是another 使用该类的演练。

【讨论】:

是的,它适用于 iPhone,但我认为您链接的问题错误,您能重新链接问题吗,谢谢。 很抱歉,它已修复:) 谢谢。但是是否可以不制作文件的任何物理副本并将字符串作为 xml 文档并对其进行处理?再次感谢。 对不起,我不明白你的问题。我的理解是您希望将 NSString 中的 XML 存储在文件中。换句话说,将 NSString 保存到 .xml 文件中。你到底想做什么?获取一个 NSString 并解析 XML? 是的,这就是我要找的。​​span> 【参考方案2】:

如果你解析的xml是plist格式的,你可以使用handy-dandy NSPropertyListSerialization类方法为你解析成plist对象。

【讨论】:

以上是关于使用Objective C将xml字符串归档的主要内容,如果未能解决你的问题,请参考以下文章

如何在Objective C中使用XML解析发布带有特殊字符和泰语的字符串?

Objective-C之成魔之路19-归档

Objective C 中类的递归归档

将 JSON 字符串解析为对象数组 Objective C

Objective C 将 NSDictionary valueForKeyPath 转换为字符串

如何将自定义对象的 NSArray 归档到 Objective-C 中的文件