我正在寻找一种转换XmlDocument
为Dictionary<string, string>
使用Linq 的好方法.
我的xml格式如下:
<config>
<field>value</field>
<field2>value2</field2>
</config>
Run Code Online (Sandbox Code Playgroud)
我想把它放到一个字典中,键值对看起来像这样:
字段,值字段2,值
2
我想我应该使用Linq这样做,但我不确定语法.
使用的XmlDocument
,根据您的问题,您可以使用此方法获得Dictionary<string, string>
.
string input = @"<config>
<field>value</field>
<field2>value2</field2>
</config>";
var xml = new XmlDocument();
xml.LoadXml(input);
var dict = xml.SelectNodes("/config/*")
.Cast<XmlNode>()
.ToDictionary(n => n.Name, n => n.InnerText);
Run Code Online (Sandbox Code Playgroud)
如果可以使用XElement
,则可以使用Parse
方法从字符串加载XML,或使用该Load
方法从文件加载XML .那么这种方法应该足够了:
var xml = XElement.Parse(input);
var dict = xml.Elements()
.ToDictionary(n => n.Name.LocalName, n => n.Value);
Run Code Online (Sandbox Code Playgroud)