2014-04-24 2 views
0

У меня есть следующая информация в XML-файле (uploaded here), взятая из ответа RestSharp, и я забочусь только о 5 идентификационных элементах. Я хочу получить эти идентификаторы в массив или список.Извлечение поля из XElement

enter image description here

Как я могу извлечь их?

Моей попытки до сих пор ..

var root = XElement.Parse(response.Content); 
      var number_projects_str = root.FirstAttribute.Value; 
      int number_of_projects = -1; 

      if (Int32.TryParse(number_projects_str, out number_of_projects)) 
      { 
       //create an array of size number_of_projects 
       //... 
      } 

ответ

1

Вы можете использовать XPathSelectElements() метод расширения для выбора первой ячейки из каждой строки (который является ячейка, которая содержит идентификатор):

var Ids = root.XPathSelectElements("/ResultSet/results/rows/row/cell[1]") 
       .Select(o => (string)o) 
       .ToArray(); 
+0

Это выглядит хорошо, но я слишком много из C# noob, чтобы понять смысл ошибки компиляции. Выберите ошибка CS1061: 'System.Collections.Generic.IEnumerable ' не содержит определения для 'Select 'и не использовать метод расширения' Select 'accept можно найти первый аргумент типа «System.Collections.Generic.IEnumerable » (вам не хватает директивы using или ссылки на сборку?) – andandandand

+0

Я пробовал использовать следующие системы: using System. Xml.Linq; с использованием System.Xml.XPath; – andandandand

+0

Кажется, что '.Select()' поступает из 'System.Linq' здесь, так же как вы использовали' System.Linq'? – har07

Смежные вопросы