Diccionario de conversión de lista única
El código que publicaste es muy útil para serializar clases en archivos xml. Pero tu problema parece ser leer el archivo xml y convertirlo en un diccionario (no sé si lo entiendo correctamente)
Si entiendo correctamente el punto 2, te recomendaría usar linq a xml para implementar.
¿Usar? sistema. XML.Linq
XElemento? ¿elemento? =?XElemento. load(@"d:\test.XML);
var?query?=?(from?c?in?element.descendent("item")
select?new ? { ? c . elemento ( " id " ) ? Att ? = & gt? ID);
///var? =? elemento". .element("id").value);
foreach?(string?key?in?query.key)
{ p>
Console.WriteLine( "key:{0},Att:{1}",?key,?query[keyword].att);
Si mi segundo punto no se entiende bien, es mucho más fácil. Tienes el conjunto de. listas y solo necesita el diccionario (c => c . Key)