当前位置: 首页 > 编程语言 > C#

序列化多个对象共享

时间:2023-04-11 00:57:45 C#

序列化多个对象我的序列化代码是这样的..publicclassslab{publicintlowerlimit{get;设置;}公共整数上限{得到;放;}publicintpercentage{get;放;}}publicclassDetails{staticvoidMain(string[]args){slabs=newslab();s.下限=0;s.upperlimit=200000;s.percentage=0;XmlSerializer序列化器=newXmlSerializer(s.GetType());StreamWriterwriter=newStreamWriter(@"文件路径");serializer.Serialize(writer.BaseStream,s);它工作正常,我得到输出文件:02000000但是你如何序??列化多个对象?我想得到一个输出文件02000000200000500000105000001000000201000000030实际上,所需的输出格式不是有效的XML,因为XML文件总是需要一个根元素。您可以将平板放入列表(Listslabs=newList();)并对其进行序列化,但您可能会得到如下输出:02000000200000500000105000001000000201000000030编辑另一个序列化方法可能看起来像这,告诉序列化器更多关于根元素的信息:Listslabs=newList();slabs.Add(...);XmlSerializer序列化器=newXmlSerializer(slabs.GetType(),newXmlRootAttribute("slabs"));StreamWriterwriter=newStreamWriter(@"文件路径");serializer.Serialize(writer.BaseStream,slabs);您可以使用以下代码。列表listSlabs=newList();//添加Slab到listSlabs中即可序列化列表。为了更好的封装和确保类型名称,您可以创建一个名为slabs的新对象,它只包含一个列表。将slab添加到这个新对象并序列化它。使用XmlSerializerserializer=newXmlSerializer(**slabs**.GetType(),newXmlRootAttribute("slabs"));代替上面的是C#学习教程:序列化多个对象共享的所有内容,如果对大家有用并且需要进一步了解C#学习教程,希望大家多多关注—XmlSerializerserializer=newXmlSerializer(s.GetType(),newXmlRootAttribute("slabs"));本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: