外部键值对数据到字典C#

时间:2013-06-12 12:12:13

标签: c# generics serialization dictionary

我有一个外部资源,将信息保存为key-value pair(例如文件,通常是xml),我想将此信息作为Dictionary<Key,Value>(泛型)加载到应用程序中。我正在寻求任何序列化 - 反序列化机制或任何其他更好的方法来做到这一点,没有任何开销。

外部资源的示例如下,

  Id         Value

  in         India

  us         United States

  fr         France

3 个答案:

答案 0 :(得分:1)

string string字典应该可以解决问题。

// read from XML or some place    

var dictionary = new Dictionary<string, string>();

dictionary.Add("in", "India");
dictionary.Add("us", "United States");
dictionary.Add("fr", "France");

答案 1 :(得分:1)

(say file, typically an xml)

假设您将XML作为

 <root>
    <key>value</key>
 </root>

将其转换为字典的代码

XElement rootElement = XElement.Parse("<root><key>value</key></root>");
Dictionary<string, string> dictionary= new Dictionary<string, string>();
foreach(var el in rootElement.Elements())
{
   dictionary.Add(el.Name.LocalName, el.Value);
}

答案 2 :(得分:1)

XML

<Loc>
 <Id>in</Id>
 <Value>India</Value>
</Loc>

C#

Dictionary<string,string> map = new Dictionary<string,string>();

XElement xe = XElement.Load("file.xml");

var q = from data in xe.Descendants("Loc")
        select data;

foreach (var data in q)
{
  map.Add(data.Element("Id").Value,data.Element("Value").Value);
}