具有嵌套循环的Linq XML查询 [英] Linq XML query with nested loop

查看:117
本文介绍了具有嵌套循环的Linq XML查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想阅读以下XML并按以下顺序打印输出.您能为查询提供帮助吗?

I would like to read below XML and print the output in following order. Can you pls help with Query?

10科目1 A1 10科目2 B1 10科目3 C1 20科目1 B2 20科目2 A1 20 Subject3 C2

10 Subject1 A1 10 Subject2 B1 10 Subject3 C1 20 Subject1 B2 20 Subject2 A1 20 Subject3 C2

预先感谢

推荐答案

下面是一个示例,您可以按照所需的形式进行查询:

Here an example how you can query in the form you want:

XDocument doc = XDocument.Load("test.xml");
var query = from l in doc.Descendants("L1")
            let id = l.Attribute("id").Value
            from subject in l.Descendants("Subject")
            select new
            {
                Id = id,
                SubjectName = (string)subject.Attribute("SubjectName"),
                Score = (string)subject.Attribute("Score")
            };

foreach (var result in query)
{
    Console.WriteLine(result);
}

输出:

{ Id = 10, SubjectName = Subject1, Score = A1 }
{ Id = 10, SubjectName = Subject2, Score = B1 }
{ Id = 10, SubjectName = Subject3, Score = C1 }
{ Id = 20, SubjectName = Subject1, Score = B2 }
{ Id = 20, SubjectName = Subject2, Score = A1 }
{ Id = 20, SubjectName = Subject3, Score = C2 }

这篇关于具有嵌套循环的Linq XML查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆