using System.Xml.Serialization;
public Node1 Node { get; set; }
public int SomeAttribute { get; set; }
public Node2 Node { get; set; }
public string SomeOtherAttribute { get; set; }
public Module1 Module1 { get; set; }
public Module2 Module2 { get; set; }
public static void Main(string[] args)
<Node SomeAttribute = ""1232"" />
<Node SomeOtherAttribute = ""Something"" />
XmlSerializer serializer = new XmlSerializer(typeof(OrderedItem));
using (TextReader reader = new StringReader(xml))
var result = (OrderedItem)serializer.Deserialize(reader);
System.Console.Out.WriteLine(result.Module1.Node.SomeAttribute);
System.Console.Out.WriteLine(result.Module2.Node.SomeOtherAttribute);