如何在.NET中将XML集合反序列化为字典?

Yos*_*ssi 4 .net c# xml serialization

假设我有以下XML: <appSettings> <add key="key1" value="value1" /> <add key="key2" value="value2" /> <add key="key3" value="value3" /> <add key="key4" value="value4" /> </appSettings>

我想将它转换为如下对象:

AppSettings["key1"] = "value1"; AppSettings["key2"] = "value2"; AppSettings["key3"] = "value3";

等等......

我在网上查了一下,还没找到有用的东西.有人可以帮我解决这个问题吗?

Eni*_*ity 5

简单.

var xd = XDocument.Parse(xml);

var AppSettings = xd.Root.Elements("add")
    .ToDictionary(
        xe => xe.Attribute("key").Value,
        xe => xe.Attribute("value").Value);
Run Code Online (Sandbox Code Playgroud)