gpt4 book ai didi

c# - 带有嵌套循环的 Linq XML 查询 - 1

转载 作者:太空宇宙 更新时间:2023-11-03 21:59:47 25 4
gpt4 key购买 nike

this question ,如果我需要在输出中包含“日期”,应该进行哪些更改?

当我包含

let dt = l.Element("Date").Value

它给出,“对象引用未设置到对象的实例”

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


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

最佳答案

如果 l 没有 Date 元素,尝试访问 l.Element("Date").Value 将导致错误。您可以使用条件:

var query = from l in doc.Descendants("L1")
let dt = l.Elements("date").Any()
? l.Element("date").Value
: AnyDefaultValueIWantForDate
let id = l.Attribute("id").Value
from subject in l.Descendants("Subject")
select new
{
Date = dt,
Id = id,
SubjectName = subject.Attribute("SubjectName").Value,
Score = subject.Attribute("Score").Value
};

(我还在 SubjectNameScore 中添加了 .Value)。

关于c# - 带有嵌套循环的 Linq XML 查询 - 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10691159/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com