日期:2014-05-17  浏览次数:20872 次

关于序列化时遇到的一个问题
最近在做项目时遇到的一个问题,描述如下:我的目的是生成xml文件,序列化时需要对类进行实例化,我现在类的层次结构都已经设计好了,但是实际传来的数据只用到类中的一部分字段,也就是说如果我对所有类进行实例化以后,生成的xml肯定会有空元素,这是不符合规定的,类的层次结构设计很庞大,大体如下结构,现在我想根据传来的数据来进行是否进行实例化,如果B中字段有数据传来则实例化B,C中没传来数据则不实例化C,这个应该怎么解决?看了看工厂模式什么的,也不适用于这种情况
public class A
{
   private a;
   public A
   {
      get{};
      set{};
   }
  B b1=new B();
  C c1=new C();
}
public class B
{
···

public class C
{
···
}

------解决方案--------------------
生成的xml肯定会有空元素,这是不符合规定的
不符合什么规定?
------解决方案--------------------
赋空值

或者 标记属性要序列化。