IXmlSerializable和XmlSerializer一起发布

时间:2012-06-12 17:37:33

标签: c# xmlserializer ixmlserializable

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

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

因此,请指导我解决此问题,以便其他类信息可以维护。

2 个答案:

答案 0 :(得分:1)

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

如果您需要基类的属性 - 添加它们。如果你需要从这个类继承的类的属性 - 尝试通过反射来获取它们。 Get Property Names using Reflection 。但不是typeof(MyClass)使用.GetType()而是检查there如何获取属性值。

答案 1 :(得分:0)

类似问题herethere

使用

行结束ReadXml(XmlReader reader)方法

reader.Read();

解决问题的接缝...