我想閱讀下面的XML並按以下順序打印輸出。你可以幫助查詢?使用嵌套循環的Linq XML查詢
10 Subject1 A1 10 Subject2 B1 10 Subject3 C1 20 Subject1 B2 20 Subject2 A1 20 Subject3 C2
預先感謝
我想閱讀下面的XML並按以下順序打印輸出。你可以幫助查詢?使用嵌套循環的Linq XML查詢
10 Subject1 A1 10 Subject2 B1 10 Subject3 C1 20 Subject1 B2 20 Subject2 A1 20 Subject3 C2
預先感謝
這裏的示例如何可以查詢以你想要的形式:
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 }
對於更多_inline madness_可以使用'(query).ToList()。ForEach(item => Console.WriteLine item))',用你建議的linq查詢替換'query'。 ;) –
謝謝先生!非常感謝 – user219628
你好,請建議應該做些什麼改變才能在輸出中顯示日期。謝謝 – user219628
我不明白你怎麼指望'Subject1 C1'出來的是XML的? –
對不起,主題3有拼寫錯誤。我已經能夠加載Xdocument並用XElement ID聲明var,但從未使用過Linq。我可以在SQL服務器上做到這一點,但問題是我失去了很多的格式,因此試圖使用C# – user219628