So is your problem that you need
<string xsi:nil="true" />
For this you should use:
public string Extention;
You still need to name the list container as something though.
If this does not answer your question, please make a simpler example just using
var w = new System.IO.StringWriter();
s.Serialize(w, new Foo());
and having a more meaningful names: extension - extension -extention is quite hard to follow :) .