将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);
希望有所帮助。