【发布时间】:2015-08-27 12:27:55
【问题描述】:
我正在使用 LINQ to XML 解析 XML 文档并从该 XML 创建多个对象。其中一个对象有一个 Dictionary 作为属性,我需要从 XML 填充 Dictionary。但是,我不确定这样做所需的实际语法。
我知道我需要获取属性值并以某种方式将它们分配给字典中的键/值。
我该怎么做?
我有一个这样的模型类:
public class Statistics
{
string Name { get; set; }
public IDictionary<string, string> Information { get; set; }
}
像这样的XML:
<section>
<parameter name="this is a key" value="this is a value" />
<parameter name="this is a key 2" value="this is a value 2" />
</section>
在我的 LINQ 查询中,我需要从 name 和 value 属性中设置键和值。
根据我的理解,我需要按照以下方式做一些事情:
.ToDictionary(x => x.name, x => x.value);
但我不确定如何将其应用于我的 LINQ 查询,以下代码是更大的 LINQ to XML 查询的一部分:
.Select(x => new Statistics
{
Name = x.Attribute("name").Value,
Information = What goes here? .Select.Attributes? .ToDictionary(x => x.name, x => x.value);
【问题讨论】:
标签: c# xml linq linq-to-xml linq-to-objects