using System.Xml.Serialization;
using System.Collections;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Text.RegularExpressions;
using System.Globalization;
using System.Diagnostics;
public static void Main()
string input = @"<battle>
<faction>rom_athens</faction>
<unit_type type=""unit_A"" />
<commander_record_key>commanderName</commander_record_key>
<special_ability>abilityName</special_ability>
<unit_type type=""unit_A"" />
<special_ability>abilityName</special_ability>
<unit_type type=""unit_A"" />
<special_ability>abilityName</special_ability>
<special_ability>abilityName</special_ability>
<faction>rom_arverni</faction>
<unit_type type=""unit_A"" />
<commander_record_key>commanderName</commander_record_key>
<special_ability>abilityName</special_ability>
<special_ability>abilityName</special_ability>
<unit_type type=""unit_B"" />
<special_ability>abilityName</special_ability>
<unit_type type=""unit_B"" />
<special_ability>abilityName</special_ability>
<special_ability>abilityName</special_ability>
<faction>rom_rome</faction>
<unit_type type=""unit_C"" />
<commander_record_key>commanderName</commander_record_key>
<special_ability>abilityName</special_ability>
<special_ability>abilityName</special_ability>
<unit_type type=""unit_C"" />
<special_ability>abilityName</special_ability>
<unit_type type=""unit_C"" />
<special_ability>abilityName</special_ability>
<faction>rom_rome</faction>
<unit_type type=""unit_F"" />
<commander_record_key>commanderName</commander_record_key>
<special_ability>abilityName</special_ability>
<unit_type type=""unit_F"" />
<special_ability>abilityName</special_ability>
<unit_type type=""unit_F"" />
<special_ability>abilityName</special_ability>
<faction>rom_athens</faction>
<unit_type type=""unit_F"" />
<commander_record_key>commanderName</commander_record_key>
<special_ability>abilityName</special_ability>
<unit_type type=""unit_F"" />
<special_ability>abilityName</special_ability>
<unit_type type=""unit_F"" />
<special_ability>abilityName</special_ability>
<faction>rom_arverni</faction>
<unit_type type=""unit_F"" />
<commander_record_key>commanderName</commander_record_key>
<special_ability>abilityName</special_ability>
<unit_type type=""unit_F"" />
<special_ability>abilityName</special_ability>
<unit_type type=""unit_F"" />
<special_ability>abilityName</special_ability>
XDocument doc = XDocument.Parse(input);
var results = doc.Descendants("alliance")
ID = g.Attribute("id").Value,
ArmyCount = g.Elements("army").Count()
foreach(var result in results)
Console.WriteLine(result);