为了账号安全,请及时绑定邮箱和手机立即绑定

您可以按属性集在一组属性内序列化吗?

您可以按属性集在一组属性内序列化吗?

C#
交互式爱情 2023-07-23 16:45:46
我想要在运行的循环中将一组属性全部序列化为 XML 文件。该循环在一组文件夹内运行。根据我当前的实现,它只显示最后一组属性。这是我当前的代码,Student  obj = JsonConvert.DeserializeObject < StudentModel  (File.ReadAllText(file));string Name = studentModel.name;string number = studentModel.number;string testPath = rootDirectory;XmlSerializer serializer = new XmlSerializer(typeof(StudentModel));System.IO.StreamWriter writer = new System.IO.StreamWriter(testPath + "\\Test.xml");serializer.Serialize(writer, studentModel);writer.Close();我当前的输出是<?xml version="1.0" encoding="utf-8"?><StudentModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><name>Max</name><number>1</number></StudentModel>所需的输出是<?xml version="1.0" encoding="utf-8"?><StudentModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><name>Max</name><number>1</number></StudentModel><StudentModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><name>Amy</name><number>2</number></StudentModel><StudentModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><name>Jack</name><number>3</number></StudentModel>
查看完整描述

1 回答

?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

在我看来,您想要做的是将列表(或数组)序列化为StudentModelxml。目前,您仅序列化一个实例,StudentModel并在循环的每次迭代中覆盖生成的 xml,留下最后一项。您可以做的是创建一个具有List()ofStudentModel作为属性的类并序列化该类实例,不再需要循环。


新类中的 List 属性将如下所示:


[XmlArray("StudentModels"), XmlArrayItem(typeof(StudentModel), ElementName = "StudentModel")] 

public List<StudentModel> StudentModelList{ get; set; }


查看完整回答
反对 回复 2023-07-23
  • 1 回答
  • 0 关注
  • 95 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信