using System.Collections;
using System.Collections.Generic;
using System.Xml.Serialization;
public static void Main()
Nodes = new List<MyClass>(new[]
new MyClass{ Name = "FirstChild" },
new MyClass{ Name = "SecondChild",
Nodes = new List<MyClass>(new[]{new MyClass{Name = "LastChild"}})
var serializer = new XmlSerializer(typeof(MyClass));
using (var ms = new MemoryStream())
var sw = new StreamWriter(ms);
serializer.Serialize(sw, _class);
var sr = new StreamReader(ms);
var myStr = sr.ReadToEnd();
Console.WriteLine(myStr);
public string Name {get;set;}
public List<MyClass> Nodes {get;set;}