using System.Collections;
using System.Collections.Generic;
using System.Data.DataSetExtensions;
using System.Text.RegularExpressions;
public static void Main()
string input = @"<preferences>
<section name=""PREF_SECTION_NAME_1"">
<preference name=""PREF_EXAMPLE_1"" type=""radio"">
<default value=""true""></default>
<preference name=""PREF_EXAMPLE_2"" type=""radio"">
<default value=""true""></default>
<preference name=""PREF_EXAMPLE_3"" type=""radio"">
<default value=""true""></default>
<section name=""PREF_SECTION_NAME_2"">
<preference name=""PREF_EXAMPLE_1"" type=""radio"">
<default value=""true""></default>
<preference name=""PREF_EXAMPLE_2"" type=""radio"">
<default value=""true""></default>
<preference name=""PREF_EXAMPLE_3"" type=""radio"">
<default value=""true""></default>
var xDoc = XDocument.Parse(input);
Name = x.Attribute("name").Value,
Preference = x.Elements("preference")
.Select(y=> new Preference
Name = (string)y.Attribute("name"),
Default = (bool)y.Element("default").Attribute("value")
public string Name { get; set; }
public bool Default { get; set; }
public string Name { get; set; }
public List<Preference> Preference { get; set; }
public List<Section> Section { get; set; }