2011-04-19 78 views
1

我使用Iphone和Java服务器之间的XML通信。使用TBXml我解析传入的消息。什么是一个很好的方法来将NSDictionary转换为xmlString?NSDictionary到XML字符串

回答

0

如果你的字典由数量有限的类别,具体NSDataNSStringNSArrayNSDictionaryNSDateNSNumber,您可以使用NSPropertyListSerialization,特别是- (BOOL)writeToFile:(NSString *)path atomically:(BOOL)flag方法。这将写出plist XML中的数据,这对于简单的情况已经足够了。

否则,您可能必须为自定义类编写自定义序列化方法。

+0

这将是美好的,如果在NSPropertyListSerialization存在这种方法。 – mpemburn 2013-01-25 19:58:04

+0

@mpemburn - 我不清楚:' - (BOOL)writeToFile:(NSString *)原子路径:(BOOL)flag'是NSDictionary上的一个方法,它使用属性列表序列化,因此具有相同的规则。 – Don 2013-01-28 17:09:00

2

这并获得成功对我来说:

NSString *error; 
NSData *xmlData = [NSPropertyListSerialization dataFromPropertyList: myDictionary 
                  format: NSPropertyListXMLFormat_v1_0 
                errorDescription: &error]; 

NSString *xmlString = [[NSString alloc] initWithData: xmlData encoding: NSUTF8StringEncoding];