public static void Main()
string xmlString = """<root> <level1 name="A"> <level2 name="A1"/> <level2 name="A2"/> </level1> <level1 name="B"> <level2 name="B1"/> <level2 name="B2"/> </level1> <level1 name="C"/></root>""";
XDocument doc = XDocument.Parse(xmlString);
var results = doc.Descendants("level1")
Name = level1.Attribute("name").Value,
Children = level1.Descendants("level2")
.Select(level2 => level2.Attribute("name").Value)
foreach (var result in results)
Console.WriteLine(result.Name);
foreach (var child in result.Children)
Console.WriteLine(" " + child);