簡體   English   中英

使用C#中的linq to xml獲取xml中的節點名稱及其對應值?

[英]Getting the name of the node and its corresponding values in xml using linq to xml in c#?

我想使用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");
        }

那么對於這種情況正確的查詢是什么,請幫忙。 謝謝

我希望這是您要尋找的:

    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 ));

它打印:

firstname:Lucas
  lastname:Ontivero

讓我知道它是否有用。 祝好運!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM