Как будет запрос для этого файла XML? - PullRequest
1 голос
/ 18 октября 2011

Я с трудом пытаюсь создать запрос.Это файл:

<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 >.Первый список для целей, и последний - для хранения каждого результата.

Любые сомнения, пожалуйста, сообщите мне

1 Ответ

6 голосов
/ 18 октября 2011

Я подозреваю, что вы хотите:

var results = doc.Descendants("Objective")
                 .Select(x => x.Elements("Exam")
                               .Select(exam => (double) exam.Attribute("Result"))
                               .ToList())
                 .ToList();

Или, если идентификатор объекта важен, вы можете рассмотреть 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"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...