关于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
一个老外写的看一下吧