c# - Linq To Xml - 从重复的 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>

如何生成对应于此的 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 元素。

关于c# - Linq To Xml - 从重复的 XML 创建字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15248096/

相关文章:

c# - 从另一个 DataContext 加载?

c# - 如何在进程停止时取消虚拟主机

c# - 具有可为空值类型参数的扩展方法解析

java - 在 XML 中存储二维表(决策表)以实现高效查询

javascript - node_xslt 文档或示例不可用

c# - 类中对象的列表或字典

c# - 无法将表达式类型转换为返回类型

java - 在 Android 中放置多行小部件

mysql - 复杂字典的数据库设计

python - 如何返回在不同字典中获得新值的字典键的值