我有这个奇怪的问题。我有一个xml字符串,如下所示 -
<key><int>5</int></key><value><int>10</int>
使用Paul's Code序列化词典后获得上述xml。现在我想将xml转换回字典。
如何从xml中获取类型“int”并声明字典如下?
Dictionary<int, int>
任何线索?
答案 0 :(得分:1)
老问题,我知道,但这是一个通用的方法,可以使用序列化的SerializableDictionary(由一个Paul,正如你所指出的那样)。如果这仍然是相关的,你可以试试吗?
SerializableDictionary<int, int> stuffDict = ReadXML<int, int>(@"c:\test.xml");
private static SerializableDictionary<T, U> ReadXML<T, U>(string file)
{
SerializableDictionary<T, U> dict = new SerializableDictionary<T, U>();
if (File.Exists(file))
{
FileStream flStream = new FileStream(file, FileMode.Open, FileAccess.Read);
try
{
XmlSerializer xmlSerializer = new XmlSerializer(typeof(SerializableDictionary<T, U>));
dict = xmlSerializer.Deserialize(flStream) as SerializableDictionary<T, U>;
}
finally
{
flStream.Close();
}
}
return dict;
}