-2

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

外部资源示例如下,

  Id         Value

  in         India

  us         United States

  fr         France
4

3 回答 3

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);
}
于 2013-06-12T12:23:03.687 回答
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");
于 2013-06-12T12:16:33.690 回答
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);
}
于 2013-06-12T12:18:42.307 回答