在C#中的集合XML序列化

在C#中的集合XML序列化

本文介绍了在C#中的集合XML序列化的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 29岁程序员,3月因学历无情被辞! 我有两个类,如下所示: 公共类信息 { [XmlAttribute]公开字符串的语言; 公众诠释的版本; 公共图书的书; 公共信息(){} 公共信息(串升,INT V,串作者,诠释数量,诠释价格) {本。语言= 1; this.version = V; =书书新(作者,数量,价格); } } 公共类图书 { [XmlAttribute]公共字符串作者; 公众诠释数量; 公众诠释价格; [XmlIgnore]公众诠释总额; 公众的NameValueCollection nvcollection =新的NameValueCollection(); 公共图书(){} 公共图书(字符串作者,诠释数量,诠释价格) { this.author =作者; this.quantity =数量; this.price =价格; =总数量*价格; nvcollection.Add(作者,price.ToString()); } } 我已经创建了一个ArrayList这将增加信息类的两个实例如下: 的FileStream FS =新的FileStream(SerializedInfo.XML,FileMode.Create); 名单,LT;信息> arrList =新的List<信息>(); XmlSerializer的XS =新的XmlSerializer(typeof运算(列表<信息>)); 信息pObj =新的信息(ABC,3,DEF,2,6); 信息pObj1 =新的信息(GHI; 4,JKL,2,8); arrList.Add(pObj); arrList.Add(pObj1); xs.Serialize(FS,arrList); fs.Close(); 但是当我尝试序列化,我得到一个例外,因为有反映类型错误系统.Collections.Generic.List`1 [ConsoleApplicationSerialization.Info]'。 谁能帮我呢? 此外,而不是NameValueCollection中,结构型我可以使用哪些? 解决方案 Try using a container class with custom serialization:http://nayyeri.net/serialize-namevaluecollectionHowever, I am unsure what you are actually trying to achieve. What will the nvcollection contain except for the author of the book and the price, once?Do you intend to use it at the Book level, or higher in the object hierarchy?Instead of using a NameValueCollection, you might want to a Dictionary as it has more flexibility in terms of what it can contain: http://johnwsaundersiii.spaces.live.com/blog/cns!600A2BE4A82EA0A6!699.entry 这篇关于在C#中的集合XML序列化的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!
08-03 20:55