C# Linq到Xml-从重复的Xml创建字典
我有这样一个XML字符串:C# Linq到Xml-从重复的Xml创建字典,c#,xml,dictionary,linq-to-xml,C#,Xml,Dictionary,Linq To Xml,我有这样一个XML字符串: <root> <name>Key</name> <value>Value</value> <name>Key</name> <value>Value</value> <name>Key</name> <value>Value</value> </root> 钥匙 价值 钥匙
<root>
<name>Key</name>
<value>Value</value>
<name>Key</name>
<value>Value</value>
<name>Key</name>
<value>Value</value>
</root>
钥匙
价值
钥匙
价值
钥匙
价值
如何生成与此对应的C#字典-即为每对名称和值创建一个字典项。(使用Linq To XML)。您可以使用:
我想试试这样的
XDocument doc = XDocument.parse(... parse you XML here ...);
var nameElements = doc.Descendants("name");
var dictionary = nameElements.ToDictionary(el => el.Value,
el => el.ElementsAfterSelf().First().Value);
首先查找所有name
元素,然后将此数组投影到字典。键选择器使用el.Value
,这是name
元素的值。值选择器获取元素的下一个同级,它将是您的值元素。请参见此处
XDocument doc = XDocument.parse(... parse you XML here ...);
var nameElements = doc.Descendants("name");
var dictionary = nameElements.ToDictionary(el => el.Value,
el => el.ElementsAfterSelf().First().Value);