Ошибка при создании файла XML - C#
Формулировка задачи:
Добрый день, пытаюсь на основе List'а своего класса Software создать XML-файл и получаю непонятную ошибку.
Код класса:
Код класса, который содержит List<Software>
Код по созданию XML-файла
[Serializable]
[XmlRoot("Software")]
public class Software : ICloneable, IEquatable<Software>, IComparer<Software>, IComparable<Software>
{
[XmlAttribute("SoftwareId")]
public int SoftwareId { get; set; }
[XmlAttribute("SoftwareName")]
public string SoftwareName { get; set; }
[XmlAttribute("DeveloperName")]
public string DeveloperName { get; set; }
public Software() { }
public Software(int id, string softnm, string devnm)
{
SoftwareId = id;
SoftwareName = softnm;
DeveloperName = devnm;
}
}public class SoftwareList
{
[XmlArray("SoftList"), XmlArrayItem(typeof(Software), ElementName = "Software")]
public List<Software> SoftList { get; set; }
}public static SoftwareList softList = new SoftwareList();
Dictionary<int, Software> softwareDictionary = new Dictionary<int, Software>();
public Form1()
{
InitializeComponent();
softList.SoftList = new List<Software>();
softList.SoftList.Add(new ParshinLR6.Software { SoftwareId = 1, SoftwareName = "ASF", DeveloperName = "ASF" });
softList.SoftList.Add(new ParshinLR6.Software { SoftwareId = 2, SoftwareName = "ASF2", DeveloperName = "ASF2" });
softList.SoftList.Add(new ParshinLR6.Software { SoftwareId = 3, SoftwareName = "ASF3", DeveloperName = "ASF3" });
softList.SoftList.Add(new ParshinLR6.Software { SoftwareId = 4, SoftwareName = "ASF4", DeveloperName = "ASF4" });
softList.SoftList.Add(new ParshinLR6.Software { SoftwareId = 5, SoftwareName = "ASF5", DeveloperName = "ASF5" });
saveListToFile("Software.xml");
ListToListView();
public void saveListToFile(string filename)
{
using (FileStream fs = new FileStream(filename, FileMode.Create, FileAccess.Write))
{
XmlSerializer xs = new XmlSerializer(typeof(Software));
xs.Serialize(fs, softList.SoftList);
}
}
}Решение задачи: «Ошибка при создании файла XML»
textual
Листинг программы
XmlSerializer xs = new XmlSerializer(typeof(SoftwareList)); xs.Serialize(fs, softList);