你的xml文件中有中文,所以
你贴出的代码对于将类序列化成xml文件,是非常好用的。但是你的问题好像是读取xml文件,并且转换成Dictionary(不知道我的理解对不对)
如果我针对第2点的理解是对的,那么建议你采用linq to xml实现
using System.Xml.Linq;
XElement element = XElement.Load(@"d:\test.xml");
var query = (from c in element.Descendants("item")
select new { Id = c.Element("id").Value, Att = c.Element("att").Value })
.ToDictionary(e => e.Id);
//两种写法都可以
//var query = element.Descendants("item").ToDictionary(c => c.Element("id").Value);
foreach (string key in query.Keys)
{
Console.WriteLine("key:{0},Att:{1}", key, query[key].Att);
}
4.如果我的第二点理解错误,那么就更简单了。你已经得到了List集合,转换成Dictionary只需要list.ToDictionary(c=>c.Key)