Я пытаюсь загрузить данные XML, которые состоят из коллекции объектов Employee.Следующая функция прекрасно работает для свойств, которые являются простыми типами данных, такими как String и Int.Мне интересно, как я могу импортировать типы данных сложного типа.Например,
Эта функция работает нормально:
private void LoadData()
{
XDocument employeesDoc = XDocument.Load("Employees.xml");
List<Employee> data = (from employee in employeesDoc.Descendants("Employee")
select new Employee
{
FirstName= employee.Attribute("FirstName").Value,
LastName = employee.Attribute("LastName ").Value,
PhoneNumber = employee.Attribute("PhoneNumber").Value
}).ToList();
Employees.ItemsSource = data;
}
Вот класс Employee:
public class Employee
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string PhoneNumber { get; set; }
public Department Department { get; set; }
}
Вот класс отдела:
public class Department
{
public int Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public Employee Manager { get; set; }
}
Итак, если мой XML-файл выглядит следующим образом:
<Employees>
<Employee FirstName="John" LastName="Summers" PhoneNumber="703-548-7841" Department="Finance"></Employee>
<Employee FirstName="Susan" LastName="Hughey" PhoneNumber="549-461-7962" Department="HR"></Employee>
Итак, если Департамент является сложным объектом и представляет собой строку в XML-файле, как я могу изменить свою функцию LoadData () наимпортировать его в мою коллекцию объектов Employee?