我有一个将信息保存为(比如文件,通常是 xml)的外部资源key-value pair
,我想将此信息作为Dictionary<Key,Value>
(泛型)加载到应用程序中。我正在寻找任何序列化-反序列化机制或任何其他更好的方法来做到这一点而没有任何开销。
外部资源示例如下,
Id Value
in India
us United States
fr France
我有一个将信息保存为(比如文件,通常是 xml)的外部资源key-value pair
,我想将此信息作为Dictionary<Key,Value>
(泛型)加载到应用程序中。我正在寻找任何序列化-反序列化机制或任何其他更好的方法来做到这一点而没有任何开销。
外部资源示例如下,
Id Value
in India
us United States
fr France
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);
}
一本字典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");
(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);
}