LINQ to XML - выбор XML для строго типизированного объекта - PullRequest
1 голос
/ 13 января 2010

У меня есть ряд связанных вопросов, но я разбью вопросы на отдельные посты.

Мой XML <Person>.....<Skills><Skill>Resus<Skill></Skills></Person>

Мой код:

var products1 = from prd in xDoc.Descendants("Person") 

select new BusinessEntityLayer.Personnel
{
  PayrollNo = (String)prd.Element("PayrollNumber"),
  FirstName = (String)prd.Element("Name"),
  LastName = (String)prd.Element("Surname"),
  StreetAddress = (String)prd.Element("StreetAddress"),
  Suburb = (String)prd.Element("Suburb"),
  HomePhone = (String)prd.Element("HomePhone"),
  MobilePhone = (String)prd.Element("MobilePhone"),
  PagerNumber = (String)prd.Element("PagerNumber"),
  Email = (String)prd.Element("Email"),
  RecordType = (String)prd.Element("RecordType"),
  Skills = (List<String>)prd.Element("Skills")

Мой класс персонала строго типизирован. Все это прекрасно работает независимо от коллекции навыков. Skills равен List<Skill>, но мой код не скомпилируется с ошибкой - XLInq.Element до Generic.List ... и я не могу использовать String[] (рефакторинг своего бизнес-класса), поскольку получаю тот же результат.

Какие стратегии люди используют здесь?

1 Ответ

1 голос
/ 13 января 2010

Я думаю, вы должны быть в состоянии сделать что-то вроде этого:

Skills = prd.Descendants("Skill").Select(e => new Skill(e.Value)).ToList(),
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...