XML序列化空集合不能自行关闭

时间:2009-01-06 02:31:26

标签: c# xml-serialization

想知道是否有人可以帮助我解决这个烦人但微不足道的(在需要方面)问题。 我有一个对象,里面有一个对象集合

 public class OuterClass
  {
    InnerClasses innerClasses= new InnerClasses();
     public InnerClasses InnerClasses
    {
      get {return innerClasses; }
    }
    public string Name
   {
     get;set;
   }
  }

  public class InnerClasses:List<InnerClass>
  {

  }
  public class <InnerClass>
  {

  }

基本上我遇到的问题是,如果我通过xml序列化程序传递它

    var outer = new OuterClass(){Name="Name"}
    var xmlSerializer = new XmlSerializer(GetType());
    var stringBuilder = new StringBuilder();
    var stringWriter = new StringWriter(stringBuilder);    
    xmlSerializer.Serialize(stringWriter, this);
    return stringBuilder.ToString();

我想知道为什么当我没有内部课时它会推出

<OuterClass>
 <Name>Name</Name>
 <InnerClasses ></InnerClasses>
</OuterClass>

为什么不将InnerClasses作为自封闭标签?

我意识到上面的代码会放,但我不能把完整的实际代码列表。 (我知道的用处不多)我只是想找出可能导致它的原因。

我不能为我的生活找出原因,为什么它默认不这样做。

非常感谢任何关于在哪里看的输入。

1 个答案:

答案 0 :(得分:1)

我一直注意到同样的事情,但据我发现它只是Serialization类的实现方式。他们只是选择不使用自闭标签。希望在将来的实施中这将会改变。