I have an xml document:
<preferences>
<section name="PREF_SECTION_NAME_1">
<preference name="PREF_EXAMPLE_1" type="radio">
<default value="true"></default>
</preference>
<preference name="PREF_EXAMPLE_2" type="radio">
<default value="true"></default>
</preference>
<preference name="PREF_EXAMPLE_3" type="radio">
<default value="true"></default>
</preference>
</section>
<section name="PREF_SECTION_NAME_2">
<preference name="PREF_EXAMPLE_1" type="radio">
<default value="true"></default>
</preference>
<preference name="PREF_EXAMPLE_2" type="radio">
<default value="true"></default>
</preference>
<preference name="PREF_EXAMPLE_3" type="radio">
<default value="true"></default>
</preference>
</section>
</preferences>
and I represent this in my classes:
public class Preference
{
public string Name { get; set; }
public bool Default { get; set; }
}
public class Section
{
public string Name { get; set; }
public List<Preference> Preference { get; set; }
}
public class Preferences
{
public List<Section> Section { get; set; }
}
and I am trying to load this up in my C# method:
var xDoc = XDocument.Load("XMLFile.xml");
var sections = xDoc.Root
.Elements("Preferences")
.Select(x => new List<Section>
{
//what do I put in here?
})
.ToList();
There does not seem anything obvious to put in the bit //what do I put in here?
I have seen plenty of examples to load a non nested class this way. Is there a way to do this or?
thanks