将XML读入字典

我需要将XML文件读入字典。

我阅读了一些指南,我只是对我不理解的奇怪单词(如节点,XMLvalidation等)感到困惑。 所以,请你帮我一下吗?

我有一个XML文件,以这种格式编写:

    

如上所述,我想将它存储在字典中。 我该怎么办呢?

 var data = XElement.Parse(xml) .Elements("def") .ToDictionary( el => (int)el.Attribute("number"), el => (string)el.Attribute("name") ); 

这个:

  • 将xml解析为XElement (从
  • 迭代元素
  • 使用@number作为键(解释为int )和@name作为值(作为字符串)形成字典
  • 将此字典分配给data ,该data隐式输入为Dictionary

你的问题是基本的,但并不合适。 别担心。 我会解释你应该怎么做。

首先,您必须加载此XML文件(如果它在磁盘上)。 否则您不需要此步骤

 XDocument database = XDocument.Load(pathToYourXmlFile); 

到了这里,你得到:

     

然后你必须得到所有def元素的列表:

 List defs = database.Elements("def"); 

到了这里,你得到:

   

现在,你应该得到列表中的每个项目(defs中的每个def):

 foreach(XElement def in defs) { // Here you have each def  int number = def.Attribute("number").value; string name = def.Attribute("name").value; } 

从每个def中提取信息的代码是:

 int number = def.Attribute("number").value; string name = def.Attribute("name").value; 

现在你有了你的号码和名字,只需将它添加到你的字典中即可。

 dictionary.Add(number, name); 

希望有所帮助。