我有一个看起来像的配置文件
'''
<configuration>
<setings1>
<a>False</a>
<c>True</c>
</setings1>
<Settings2>
<b>10</b>
</Settings2>
</configuration>
'''
如何转换为字典(字符串,列表(字符串,字符串)),即设置为键,并将元素设置为子值
您可以尝试以下代码,将Root
节点的子元素枚举为设置项,然后枚举每个setting
元素以获得值
var document = XDocument.Parse(xml);
var dict = new Dictionary<string, List<(string key, string value)>>();
foreach (var element in document.Root.Elements())
{
var list = new List<(string key, string value)>();
foreach (var child in element.Elements())
{
list.Add((child.Name.ToString(), child.Value));
}
dict.Add(element.Name.ToString(), list);
}
List<T>
在C#中不支持两个泛型类型参数,因此您无法声明List<string,string>
。
您可以使用元组列表,例如上面的示例,或者创建您自己的对象来表示键和值或使用内置KeyValuePair<TKey,TValue>