I
Ilyas
Hi all
What I want to do is to be able to create a list of objects given the
following definitions:
public class Department
{
public string Name { get; set; }
public List<Person> Persons { get; set; }
}
public class Person
{
public string Forename { get; set; }
public string Surname { get; set; }
}
from the following xml:
<?xml version="1.0" encoding="utf-8" ?>
<departments>
<department>
<name>Sales</name>
<persons>
<person>
<forename>forename1</forename>
<surname>surname2</surname>
</person>
<person>
<forename>forename2</forename>
<surname>surname2</surname>
</person>
</persons>
</department>
<department>
<name>Accounts</name>
<persons>
<person>
<forename>forename3</forename>
<surname>surname3</surname>
</person>
<person>
<forename>forename4</forename>
<surname>surname4</surname>
</person>
<person>
<forename>forename5</forename>
<surname>surname5</surname>
</person>
</persons>
</department>
<department>
<name>HR</name>
<persons>
<person>
<forename>forename6</forename>
<surname>surname6</surname>
</person>
<person>
<forename>forename7</forename>
<surname>surname7</surname>
</person>
</persons>
</department>
</departments>
I would expect back 3 department objects, and for the first department
I would want 2 person objects?
I have tried the query but caqnt figure out how to include it to fetch
the persons:
XDocument doc = XDocument.Load("Sample.xml);
List<Department> departments = (from d in
doc.Descendants("department")
select new Department
{
Name =
d.Element("name").Value,
Persons =
{
}
}).ToList();
What is the syntax I use to query the person objects for each
department?
Is there a more efficent/easier way to do this?
Many thanks
What I want to do is to be able to create a list of objects given the
following definitions:
public class Department
{
public string Name { get; set; }
public List<Person> Persons { get; set; }
}
public class Person
{
public string Forename { get; set; }
public string Surname { get; set; }
}
from the following xml:
<?xml version="1.0" encoding="utf-8" ?>
<departments>
<department>
<name>Sales</name>
<persons>
<person>
<forename>forename1</forename>
<surname>surname2</surname>
</person>
<person>
<forename>forename2</forename>
<surname>surname2</surname>
</person>
</persons>
</department>
<department>
<name>Accounts</name>
<persons>
<person>
<forename>forename3</forename>
<surname>surname3</surname>
</person>
<person>
<forename>forename4</forename>
<surname>surname4</surname>
</person>
<person>
<forename>forename5</forename>
<surname>surname5</surname>
</person>
</persons>
</department>
<department>
<name>HR</name>
<persons>
<person>
<forename>forename6</forename>
<surname>surname6</surname>
</person>
<person>
<forename>forename7</forename>
<surname>surname7</surname>
</person>
</persons>
</department>
</departments>
I would expect back 3 department objects, and for the first department
I would want 2 person objects?
I have tried the query but caqnt figure out how to include it to fetch
the persons:
XDocument doc = XDocument.Load("Sample.xml);
List<Department> departments = (from d in
doc.Descendants("department")
select new Department
{
Name =
d.Element("name").Value,
Persons =
{
}
}).ToList();
What is the syntax I use to query the person objects for each
department?
Is there a more efficent/easier way to do this?
Many thanks