Generise:将Xml反序列化为继承类的特定类

时间:2013-09-25 16:00:40

标签: c# wcf xml-serialization xml-deserialization

输入预处理的xml文件以映射特定的交易类型

假设我有transactionTypeA transactionTypeB transactionTypeC,(全部继承自TransactionTypes)。以下代码仅供参考,适用于特定的事务类型。例如,将xml数据映射到transactionTypeA:

byte[] byteArray = Encoding.UTF8.GetBytes(xmlContent);
MemoryStream tempMemoryStream = new MemoryStream(byteArray);
DataContractSerializer serializer = new DataContractSerializer(typeof(transactionTypeA));
transactionTypeA variavlename= (transactionTypeA)serializer.ReadObject(tempMemoryStream);

现在,我想让它成为通用的,这样当xml文件进入时,我可以告诉它是哪个特定的事务。

DataContractSerializer serializer = new DataContractSerializer(typeof(ThatCorrespondingTransactionType));
    ThatCorrespondingTransactionType variavlename= (ThatCorrespondingTransactionType)serializer.ReadObject(tempMemoryStream)

请帮忙吗?我试图只使用根父TransactionTypes,但它给出:SerializationException未被用户代码处理。

非常感谢。

0 个答案:

没有答案