C#层次结构的字典到xml字符串?

时间:2011-02-15 20:20:50

标签: c# xml dictionary xml-serialization

请告诉我如何序列化IEnumerable<KeyValuePair<String, Object>>类型的对象。此对象不包含自定义结构,但它可以(不必须)包含类型IEnumerable<KeyValuePair<String, Object>>的其他对象(值)。至于简单,它是字典或其他一般类型的层次结构。我可以在序列化时编写自己的步行,但也许你会告诉我最短的路径;)

谢谢!!!

2 个答案:

答案 0 :(得分: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();
...
...

答案 1 :(得分:1)

我会手动完成此操作。我不相信XML Serializer可以理解这样的事情。

使用LINQ to XML - 这是最简单的。