c# Deserializing an element based on it's parent node's name
- by daveharnett
The XML I'm working with has the following structure:
 <fixture_statistics>
  <home_player_1 id="2306143" teamid="2">
   <element_1>Some Data</element_1>
   <element_2>Some Data</element_2>
  </home_player_1>
  <home_player_2 id="2306144" teamid="2">
   <element_1>Some Data</element_1>
   <element_2>Some Data</element_2>
  </home_player_2>
 </fixture_statistics>
Now the code to deserialize it would normally look like this:
[XmlRootAttribute("fixture_statistics", Namespace = "", IsNullable = false)]
    public class FixtureRoot
    {
        [XmlElement("home_player_1")]
        [XmlElement("home_player_2")]
        public List<FixtureStats> fixtures { get; set; }
    }
    public class FixtureStats
    {
        public string element_1;
        [XMLElement("element_2")]
        public string elementTwo;
    }
Here's the question: I'd like the FixtureStats class to have a 'position' property which corrosponds to it's parent's element name (so the FixtureStat object corrosponding to home_player_1 would have position=1).
Can this be done with the built-in serialization atrributes? 
If it's not possible, what's the cleanest workaround? Bear in mind that each document will have about 50 player elements, each with about 50 'child' data elements.