MyClassリストを含むクラスであるをシリアル化したいMyClass。
XMLでは、書きたいだけですmyClass.Name。それを逆シリアル化するとMyClass、どちらが他のどのにあるべきかがわかりますMyClass。MyClassのリストをのリストに適切にシリアル化する次のコードがありますstring。ただし、文字列のリストは逆シリアル化されません。
//List of actual object. It's what I use when I work with the object.
[XmlIgnore]
public List<TaskConfiguration> ChildTasks { get; set; }
//Used by the serializer to get the string list, and used
//by the serializer to deserialize the string list to.
[XmlArray("ChildTasks")]
public List<string> ChildTasksSurrogate
{
    get
    {
        List<string> childTaskList = new List<string>();
        if (ChildTasks != null)
            childTaskList.AddRange(ChildTasks.Select(ct => ct.Name).ToList());
        if (_childTasksSurrogate != null)
            childTaskList.AddRange(_childTasksSurrogate);
        //Clears it not to use it when it serializes.
        _childTasksSurrogate = null;
        return childTaskList;
    }
    set
    {
        _childTasksSurrogate = value;
    }
}
[XmlIgnore]
private List<string> _childTasksSurrogate;
私が言ったように、シリアル化は機能します。問題は逆シリアル化にあります。デシリアライズ後、MyClass._childTasksSurrogateはですnull。