Как получить некоторые данные, используя условную в LINQ to XML? - PullRequest
0 голосов
/ 01 сентября 2011

У меня есть массив Enumerable и int, где я хочу получать только те данные, для которых ObjectiveID существует в массиве.Например:

Если это мой массив: 1, 2, 3 И в моем XML-файле есть несколько узлов, в которых содержатся: 1, 2, 3, 4, 5, 6

Программа должна получить 1, 2, 3, потому что существует в массиве.Как я могу это сделать?Я планировал использовать bucles для каждого из них и удалить его, но я знаю, что есть лучший способ сделать это.

Это часть кода:

    XDocument xdoc = XDocument.Load(path);
    var conditions = from c in xdoc.Descendants("Condition")
                     select new
                     {
                         ObjectiveID = (int)c.Attribute("ObjectiveID"),
                         TypeID = (int)c.Attribute("TypeID"),
                         ProblemID = (int)c.Attribute("ProblemID"),
                         Ranges = (from r in c.Descendants("Range")
                                   select new
                                   {
                                       Decimals = (int)r.Attribute("Decimals"),
                                       Min = (decimal)r.Attribute("Min"),
                                       Max = (decimal)r.Attribute("Max")
                                   }).ToArray(),
                     };

1 Ответ

0 голосов
/ 01 сентября 2011

Не совсем понятно, откуда берутся значения 1-6, но вам, вероятно, просто нужно предложение where, например:

where array.Contains((int) c.Attribute("id"))

или что-то подобное.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...