使用XML-Deserializer导入XML并使用DataContract-Serializer进行序列化

时间:2017-03-14 12:30:40

标签: c# serialization xml-serialization deserialization datacontractserializer

Hy guys,

我有一个很大的分布式项目,我通常使用DataContractSerializer(要求,不得更改)。

现在我必须在XML-Deserializer的帮助下导入一些我希望实现的XML文件(来自Siemens TIA Openness)。到目前为止它的效果很好。

现在我在后端拥有导入XML的对象,需要使用DataContractSerializer将其传输到前端。

当我这样做时,我得到CommunicationException(SocketConnection中止)。 我认为那是因为,我将[System.Xml.Serialization.XmlTypeAttribut]等添加到我的班级及其成员中。

我读到可以将XMLSerializer-Attribute和DataContractSerializer-Attribute添加到类中。这不会改变任何事情。

现在我可以使用一种方法来“覆盖”XMLSerializer并改为使用DataContractSerializer。

如果有人可以帮助我,任何建议都会受到高度关注。

1 个答案:

答案 0 :(得分:1)

您的问题定位到序列化和反序列化类。 您应该实现IXmlSerializable 然后覆盖         public void ReadXml(XmlReader reader)         public void WriteXml(XmlReader reader)