Вы можете попытаться перечислить дочерние элементы узла 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# не поддерживает два обобщенных параметра типа c, поэтому вы не можете объявить его как List<string,string>
.
Вы можете использовать список кортежей, как в примере выше, или создать свой собственный объект для представления ключа и значения или использовать встроенный KeyValuePair<TKey,TValue>
класс