我很难尝试创建查询。这是文件:
<Root>
<Summary>
<Objective ID="1">
<Exam Result="70" />
<Exam Result="90" />
</Objective>
<Objective ID="2">
<Exam Result="100" />
<Exam Result="90" />
</Objective>
</Summary>
</Root>
我需要获取 List> 中的值。第一个列表如果用于目标,最后一个列表用于存储每个结果。
有任何疑问,请告诉我
最佳答案
我怀疑你想要:
var results = doc.Descendants("Objective")
.Select(x => x.Elements("Exam")
.Select(exam => (double) exam.Attribute("Result"))
.ToList())
.ToList();
或者如果目标 ID 很重要,您可能需要考虑 Dictionary<int, List<double>>
:
var results = doc.Descendants("Objective")
.ToDictionary(x => (int) x.Attribute("ID"),
x => x.Elements("Exam")
.Select(y => (double) y.Attribute("Result"))
.ToList());
或者一个Lookup<int, double>
:
var results = doc.Descendants("Exam")
.ToLookup(x => (int) x.Parent.Attribute("ID"),
x => x.Select(y => (double) y.Attribute("Result"));
关于c# - 如何查询这个 XML 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7800099/