我前段时间在某个博客上读过(很抱歉含糊不清)我可以使用以下的linq
var list = from c in xml
select new
{
foreach(XElement el in c.Elements())
{
}
}
有谁知道这是可能还是仅仅是我的想象力?
感谢。
答案 0 :(得分:4)
您不能直接在匿名类型初始化表达式中使用foreach
循环,编号为
如果你能告诉我们你想要达到的目标,我们可以帮助你找到最好的方法。
答案 1 :(得分:2)
您可以使用ToList()函数将元素转换为List列表,然后就可以使用ForEach方法。在使用LinqToXml时,我发现Descendants()更有用,因为它会完全深入到对象模型中。
xml.Elements().ToList().ForEach(ele => DoSomething(ele));
答案 2 :(得分:1)
这是你的想象力。您可以在foreach循环中使用linq查询的结果,但是您不能在匿名类型的声明中使用类似的foreach循环。
答案 3 :(得分:0)
好的,我有一个包含两个部分的xml,首先声明xml中的字段,第二部分具有与第一部分中的声明相关联的数据。所以我要做的是,阅读第一个字段定义并使用它来创建第二部分中的数据的匿名类。由于我们从不同来源获取具有不同字段定义的数据,因此不要在程序中进行硬编码。