C# IXmlSerializable和XmlSerializer一起发布

C# IXmlSerializable和XmlSerializer一起发布,c#,xmlserializer,ixmlserializable,C#,Xmlserializer,Ixmlserializable,我有大约50个多态继承关系类。我使用XmlSerializer对它们进行序列化。现在,对于几个类,我想实现IXmlSerializable。所以我从一个类开始,这个类不是基类,而是直接从所有多态关系的基类派生的 实现之后,生成的XML只包含我在WriteXML方法中编写的上述类的标记。没有其他类的信息。非常奇怪的行为 因此,请指导我解决这个问题,以便其他类的信息得以保留。据我所知,您的xml包含您在WriteXML中隐式添加的属性(当前类的)?但这是正确的行为。您应该在接口的描述中隐式添加项 如

我有大约50个多态继承关系类。我使用XmlSerializer对它们进行序列化。现在,对于几个类,我想实现IXmlSerializable。所以我从一个类开始,这个类不是基类,而是直接从所有多态关系的基类派生的

实现之后,生成的XML只包含我在WriteXML方法中编写的上述类的标记。没有其他类的信息。非常奇怪的行为


因此,请指导我解决这个问题,以便其他类的信息得以保留。

据我所知,您的xml包含您在
WriteXML中隐式添加的属性(当前类的)?但这是正确的行为。您应该在接口的描述中隐式添加项

如果需要基类的属性,请添加它们。如果您需要从该类继承的类的属性,请尝试通过反射获取它们。但是不要使用
typeof(MyClass)
而是使用
.GetType()
并检查如何获取属性值

类似的问题和建议

用以下行结束
ReadXml(XmlReader)
方法

reader.Read()


接缝解决了这个问题

您的意思是基类中的信息不会为您的自定义子类自动序列化吗?或者其他,,非相关子类不再序列化数据?您在寻找其他类的
信息
?基类和所有其他类的信息根本没有序列化。生成的XML仅对我实现了IXmlSerializable的类具有标记。信息表示上课。