【问题标题】:C# hierarchy of dictionaries to xml string?C# 字典到 xml 字符串的层次结构?
【发布时间】:2011-06-27 21:36:44
【问题描述】:
请告诉我如何序列化IEnumerable<KeyValuePair<String, Object>> 类型的对象。此对象不包含自定义结构,但它可以(不是必须)包含另一个 IEnumerable<KeyValuePair<String, Object>> 类型的对象(值)。至于简单,它是字典的层次结构或其他一些通用类型。我可以在序列化的同时编写自己的行走,但也许你会告诉我最短的方法;)
谢谢!!!
【问题讨论】:
标签:
c#
xml
dictionary
xml-serialization
【解决方案1】:
如果你的“对象”是可序列化的,你可以尝试使用 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();
...
...
【解决方案2】:
我会手动执行此操作。我不相信 XML 序列化器能理解这样的事情。
使用 LINQ to XML - 这是最简单的。