【发布时间】:2015-09-17 11:15:58
【问题描述】:
我尝试使用以下代码将我的对象序列化为 xml 文件,但是当运行此代码时,列表中的最后一项 values 按列表计数进行序列化。
我想序列化列表中的每个项目?我的代码有什么问题
谁能帮帮我?
//list of class values
List<values> valus = new List<values>();
values value = new values();
foreach (Control control in Controls)
{
value.ctrlname = control.Name.ToString();
value.ctrllocation = control.Location.ToString();
value.ctrltext = control.Text.ToString();
value.ctrltype = control.GetType().ToString();
value.ctrlstatus = control.Enabled.ToString();
valus.Add(value);
}
System.Xml.Serialization.XmlSerializer writer =
new System.Xml.Serialization.XmlSerializer(typeof(values));
var path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "//Serialization.xml";
System.IO.FileStream file = System.IO.File.Create(path);
foreach (values item in valus)
{
writer.Serialize(file, item);
}
file.Close();
【问题讨论】:
-
您反复覆盖同一个文件,因此您的文件最终包含最后一项,序列化列表,而不是一次一个。
-
@YaelBS 我在你的回答中写了一条评论
标签: c# xml-serialization