2011-02-15 41 views
2

請告訴我如何序列化IEnumerable<KeyValuePair<String, Object>>類型的對象。該對象不包含自定義結構,但它可以(不一定)包含IEnumerable<KeyValuePair<String, Object>>類型的其他對象(值)。至於簡單,它是字典或其他通用類型的層次結構。我可以在序列化的同時寫自己的步行,但也許你會告訴我最短的方式;)C#詞典的層次結構到xml字符串?

謝謝!

回答

1

我將手動執行此操作。我不會相信XML序列化器能夠理解這樣的事情。

使用LINQ to XML - 這是最簡單的。

+0

謝謝你,我會自己做;) – Edward83 2011-02-16 07:16:03

2

你可以嘗試使用XmlSerializer的前提是您的「對象」是可序列化

IEnumerable<KeyValuePair<String, Object>> data = LoadData(); // however you populate your collection 
var dataAsList = data.ToList(); 
XmlSerializer serializer = new XmlSerializer(dataAsList.GetType()); 
StringWriter sw = new StringWriter(); 
serializer.Serialize(sw,dataAsList); 
var xml = sw.ToString(); 
... 
...