发出序列化引用自身作为属性的类的问题

时间:2016-07-26 23:59:02

标签: c# xml serialization xml-serialization

说这是我通过递归调用生成的类:

public class Level
{
    public string Name { get; set; }
    public string Value { get; set; }
    public List<Level> NextLevel { get; set; }
    public Level()
    {
        NextLevel = new List<Level>();
    }
}

但是,当我尝试将其序列化为xml时,我收到此错误:

  

类型System.Collections.Generic.List`1 [[.... ResponseModel + Level,Testing,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null]]可能不会在此上下文中使用。< / p>

我尝试过Json序列化,没关系。

我认为它存在NextLevel属性的问题。这里需要特殊属性吗?

我没有找到关于此的更多信息。

1 个答案:

答案 0 :(得分:1)

要使用XML序列化序列化列表/数组,您通常必须将XmlArrayXmlArrayItem属性应用于您的属性,以指定它应将其序列化为嵌套的XML元素序列:

[XmlArray("NextLevel")]
[XmlArrayItem("Level")]
public List<Level> NextLevel { get; set; }