2011-04-19 118 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];