Dar*_*arf 1 c# xml linq linq-to-xml
我很难尝试创建查询.这是文件:
<Root>
<Summary>
<Objective ID="1">
<Exam Result="70" />
<Exam Result="90" />
</Objective>
<Objective ID="2">
<Exam Result="100" />
<Exam Result="90" />
</Objective>
</Summary>
</Root>
Run Code Online (Sandbox Code Playgroud)
我需要获取List <List <double >>中的值.第一个列表是否为目标,最后一个是存储每个结果.
有任何疑问,请告诉我
我怀疑你想要:
var results = doc.Descendants("Objective")
.Select(x => x.Elements("Exam")
.Select(exam => (double) exam.Attribute("Result"))
.ToList())
.ToList();
Run Code Online (Sandbox Code Playgroud)
或者,如果目标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());
Run Code Online (Sandbox Code Playgroud)
或者Lookup<int, double>:
var results = doc.Descendants("Exam")
.ToLookup(x => (int) x.Parent.Attribute("ID"),
x => x.Select(y => (double) y.Attribute("Result"));
Run Code Online (Sandbox Code Playgroud)