簡體   English   中英

具有不同子類的XML序列化

[英]XML Serialization with Different Subclasses

我有一個超類和兩個子類,我想將這些子類的對象序列化為列表並反序列化

我試圖使用一個超類列表,該列表具有兩個子類中的對象,但最終出現異常。

有什么辦法嗎?

Type1 t = new Type1() { text="123" ,opt1=true,opt2=true};
Type2 t1 = new Type2() { text="1234",isAnswer=false};
Question q1 = new Question() { text="12321"};
Question q2 = new Question() { text = "12321" };
List<Question> q = new List<Question>() { t1 };
FileStream fs = new FileStream("aa.xml", FileMode.OpenOrCreate, FileAccess.Write);
XmlSerializer xs = new XmlSerializer(typeof(List<Question>));
//Exception is generated here InvalidOperationException
//there was error genearating the XML document
xs.Serialize(fs, q);

fs.Close();

嘗試將序列號已知的類型傳遞給,例如,

serializer = new XmlSerializer(typeof(T), extraTypes); 其中extraTypes是必須序列化的類型數組。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM