0

我想使用 linq to xml 在 xml 文件中获取节点的名称及其对应的值。

我通常做这行代码来获取节点的值并将其存储在列表中

var qry = from c in XElement.Load(commonpath).Elements("Root") select c;

        List<string> result = new List<string>();
        foreach (var i in qry)
        {
            result.Add(Convert.ToString(i));
        }

但现在我希望节点名称和值都将其存储在字典中

Dictionary<string, double> amount = new Dictionary<string, double>();
        var qry = "";//what query here
        foreach(var i in qry)
        {
            amount.Add("Node Name", "Value");
        }

那么对于这种情况的正确查询是什么,请帮忙。谢谢

4

1 回答 1

1

我希望这是您正在寻找的:

    var doc = XDocument.Parse(@"
         <root>
            <firstname>Lucas</firstname>
            <lastname>Ontivero</lastname>
         </root>");
    var qry = from element in doc.Element("root").Descendants() select element;
    var result = qry.ToDictionary(e => e.Name, e => e.Value);
    result.ToList().ForEach(x=> Console.WriteLine("{0}:{1}", x.Key, x.Value ));

它打印:

  名字:卢卡斯
  姓氏:Ontivero

让我知道它是否有用。祝你好运!

于 2012-12-08T03:00:30.680 回答