试图将xml转换为字典

时间:2009-11-25 18:36:32

标签: c# xml linq dictionary

我的xml看起来像:

<root>
  <blah1>some text</blah1>
  <someother>blah aasdf</someother>
</root>

我想将其转换为字典

所以我能做到:

myDict["blah1"]

并返回文本'some text'

到目前为止,我有:

Dictionary<string,string> myDict = (from elem in myXmlDoc.Element("Root").Elements()
                                select elem.Value).ToDictionary<string,string>();

这是正确的还是我必须将选择更改为具有2个结果的内容?

3 个答案:

答案 0 :(得分:2)

指定您想要的Key和Value的内容。

var myDict = myXmlDoc.Elements()
                     .ToDictionary( key => key.Name, val => val.Value);

答案 1 :(得分:1)

你需要在ToDictionary调用中使用lambda,以便知道该键的用途以及用于该值的内容......

check here for a good exampleand here as well

答案 2 :(得分:1)

myXmlDoc.Root
    .Elements()
    .ToDictionary(xe => xe.Name, xe => xe.Value);