如何在 XElement 中使用 For 循环

问题描述

我尝试从收到的 XML document 创建一个 List<T>,其中 T 是列表的类型。

所以,问题是当我尝试在 for 内使用 XElement 循环时,我遇到错误

我的想法是创建一个 XML Document 包含基于 T properties

的元素

那么请问我如何在 for 中使用 XElement 循环?

解决方法

至于您的错误,您不能将 for 循环作为方法参数传递。我明白你在这里得到了什么,但你做的有点颠倒。不是将 for 循环放入 add 方法中,而是将 add 方法放入 for 循环中:

for (int i = 0; i < PropertiesLength; i++)
{ 
    var element = new XElement(dataAsList_Properties[i].Name,dataAsList_Properties[i].GetValue(d));
    xdoc.Root.Element(childElementsName).Add(element);
}

还有:

我可以建议让 T 实现某个接口吗?这将允许您设置适用于所有类型的方法,以便您的数据更易于访问以转换为 XML