【发布时间】:2011-04-19 11:32:40
【问题描述】:
我在 Iphone 和 Java 服务器之间使用 XML 通信。使用 TBXml 我解析传入的消息。 NSDictionary 转 xmlString 有什么好的方法?
【问题讨论】:
标签: xml nsdictionary
我在 Iphone 和 Java 服务器之间使用 XML 通信。使用 TBXml 我解析传入的消息。 NSDictionary 转 xmlString 有什么好的方法?
【问题讨论】:
标签: xml nsdictionary
这对我有用:
NSString *error;
NSData *xmlData = [NSPropertyListSerialization dataFromPropertyList: myDictionary
format: NSPropertyListXMLFormat_v1_0
errorDescription: &error];
NSString *xmlString = [[NSString alloc] initWithData: xmlData encoding: NSUTF8StringEncoding];
【讨论】:
如果您的字典包含有限数量的类,特别是 NSData、NSString、NSArray、NSDictionary、NSDate 和 NSNumber,则可以使用 NSPropertyListSerialization,尤其是- (BOOL)writeToFile:(NSString *)path atomically:(BOOL)flag 方法。这将在 plist XML 中写出数据,这对于简单的情况来说已经足够了。
否则,您可能必须为自定义类编写自定义序列化方法。
【讨论】:
-(BOOL)writeToFile:(NSString *)path atomically:(BOOL)flag 是 NSDictionary 上使用属性列表序列化的方法,因此规则相同。