如何在c#中将对象序列化为具有循环依赖关系的xml?

如何在c#中将对象序列化为具有循环依赖关系的xml?,c#,xml,serialization,C#,Xml,Serialization,我有一个循环依赖的对象 public class Levels { public UserDescription user { get; set; } public List<Levels> friends {get; set;} public Levels(UserDescription user, List<Levels> friends) { this.user

我有一个循环依赖的对象

    public class Levels
    {
        public UserDescription user { get; set; }
        public List<Levels> friends {get; set;}

        public Levels(UserDescription user, List<Levels> friends)
        {
           this.user = user;
           this.friends = friends;
        }

        public Levels() { }            
    }

此代码在
serializer=new System.Xml.Serialization.XmlSerializer
上引发异常System.InvalidOperationException。如何解决这个问题?

问题是类UserDescription没有空构造函数。

1。显示异常详细信息可能重复的编译和运行对我来说没有任何问题。。。如何创建顶级实例?我创建它的方式类似于Levels=newlevels(masha.getDescription(),levelsList);级别列表是级别的列表
    public string SerializeObject(object obj)
    {
        System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument();
        System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(obj.GetType());
        using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
        {
            serializer.Serialize(ms, obj);
            ms.Position = 0;
            xmlDoc.Load(ms);
            return xmlDoc.InnerXml;
        }
    }