如何通过 Linq 解组 XML

本文关键字:XML 解组 Linq 何通过 | 更新日期: 2023-09-27 17:56:54

好的,假设一些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(实际上,如果你能指出我一个体面的入门,这将是一个很大的帮助,我找不到任何比平面结构更基本的东西)。

如何通过 Linq 解组 XML

你看过xml序列化吗?可能更适合您的需求