我有一个这样的 XML 字符串:
<root>
<name>Key</name>
<value>Value</value>
<name>Key</name>
<value>Value</value>
<name>Key</name>
<value>Value</value>
</root>
如何生成与此相对应的 C# 字典 - 即为每对名称和值创建一个字典项。(使用 Linq To XML)。
我有一个这样的 XML 字符串:
<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
元素的值。值选择器采用元素的下一个兄弟元素,这将是您的value
元素。
您可以使用ToDictionary():
var dict = XElement.Parse(yourMarkup).Elements("name").ToDictionary(
name => name.Value,
name => name.ElementsAfterSelf("value").First().Value);