如何通过Linq解组XML?

时间:2011-05-18 11:45:14

标签: c# .net xml linq unmarshalling

好的,假设有一些XML:

<Result>
 <Value>
  <Foo>1</Foo>
  <Bar>1</Bar>
 </Value>
 <OK>true</OK>
</Result>

还有一些课程:

class ResultValue
{
  public int foo;
  public int bar;

  public ResultValue() {}
}

class Result
{
  public bool ok;
  public ResultValue value;

  public Result() {}
}

如何创建/填充Result对象,包括其值成员?

我到目前为止

from x in source.Elements()
where ((int)x.Element("Value").Element("Foo") == 1)
select new Result()
{
    ok = (bool) x.Element("OK"), // ok, I understand as far as this!
    // what goes here, to fill .value?
};

我真的很感谢你不仅要解释我需要什么代码,还要解释“为什么”,因为我发现语法“有点”令人困惑:-P(实际上,如果你能指出我在这方面的一个不错的入门,这将是一个很大的帮助,我找不到任何涵盖任何比平面结构更基本的东西。)

1 个答案:

答案 0 :(得分:3)

你看过xml serialisation了吗?可能更适合您的需求