using System.Collections.Generic;
public static void Main()
<Variables section=""Owner"">
<Variable standard=""1"">
<Variable standard=""0"">
<Variable standard=""1"">
<Variable standard=""1"">
<Variable standard=""1"">
<Variable standard=""1"">
<Variable standard=""1"">
<Variable standard=""1"">
<Variables section=""Customer"">
<Variable standard=""1"">
var doc = XDocument.Parse(xml);
from section in doc.Descendants("Variables")
Name = (string) section.Attribute("section"),
.Select(var => new Variable
Name = (string) var.Element("Name"),
Type = (string) var.Element("Type"),
IsStandard = (int) var.Attribute("standard") == 1
foreach (var section in sections)
Console.WriteLine("[ ] {0}", section.Name);
foreach (var var in section.Variables)
Console.WriteLine(" [{0}] {1}", var.IsStandard ? "x" : " ", var.Name);
Console.WriteLine(" {0}", var.Type);
public string Name { get; set; }
public List<Variable> Variables { get; set; }
public string Name { get; set; }
public string Type { get; set; }
public bool IsStandard { get; set; }