C #Загрузить словарь из XML

У меня есть файл XML, который выглядит как:

<Cities>
    <Name>Seattle</Name>
    <State>WA</State>
    <Population>552105</Population>
</Cities>

Я хочу загрузить информацию о городе в словарь, чтобы мой словарь выглядел как:

cityDictionary("Name") = "Seattle"
cityDictionary("State") = "WA"
cityDictionary("Population") = "552105"

Следующий код работает:

var doc = XDocument.Load(@"..\..\Cities.xml");
var rootNodes = doc.Root.DescendantNodes().OfType<XElement>();
var keyValuePairs = from n in rootNodes
                    select new
                    {
                        TagName = n.Name,
                        TagValue = n.Value
                    };

Dicitionary<string, string> allItems = new Dictionary<string, string>();
foreach (var token in keyValuePairs) {
    allItems.Add(token.TagName.ToString(), token.TagValue.ToString());
}

Но я хочу сделать этот шаг.

Какие-либо предложения?

5
задан Richard 14 August 2012 в 15:36
поделиться