日期:2014-05-18  浏览次数:20950 次

关于XMLSerialize生成xml文件的问题,请大家帮助,谢谢。
结构如下:
public class a
{
  b;
}
public class b:c
{
  从c继承的类。
}
public class c
{
  c
}

类c里包含了自己,也就是说类b里包含类b。
当我生成一个a的结构,用xml的Serialize反序列化时,提示我不应该是b,要用xmlInclude指定的错误信息。
请大家帮忙解决。谢谢大家。
当生成的类实例里有b,并且b里不含b时,能正常执行,当b里又包含一个b的数据时,提示上面的错误信息。



------解决方案--------------------
我不知道你为什么要出错,我这样可以
public class Test
{
[STAThread]
static void Main()
{
SerializeObject("c:\\a.ser");
}

private void SerializeObject(string filename)
{
XmlSerializer serializer =new XmlSerializer(typeof(A));

A i = new A();

Stream writer = new FileStream(filename, FileMode.Create);
serializer.Serialize(writer, i);
writer.Close();
}

}

public class C
{
public string ItemName;
public string Description;

public C CopyItem;
}

public class B : C
{

}

public class A
{
public B b = new B();

public A()
{
b.ItemName = "Widget";
b.Description = "Regular Widget";
C c = new C();
c.ItemName = "Widget";
c.Description = "Regular Widget";
b.CopyItem = c;
}
}

------解决方案--------------------
http://www.codeproject.com/KB/XML/xml_serializationasp.aspx
一个老外写的看一下吧