У меня есть следующий класс, и я пытаюсь сериализовать и десериализовать из и в файл XML:
public class cUrlData
{
public string ProgramName {get;set;}
public string ExeName { get; set; }
public string Category { get; set; }
public string URL { get; set; }
public cUrlData()
{
}
public void Add(string ProgramName, string ExeName, string Category, string ProgramURL)
{
this.ProgramName = ProgramName;
this.ExeName = ExeName;
this.URL = ProgramURL;
this.Category = Category;
}
}
Я использовал следующий код, чтобы проверить это:
public List<cUrlData> SoftwareData = new List<cUrlData>();
cUrlData urlData;
cXml xml;
public frmUpdater()
{
InitializeComponent();
xml = new cXml("data.xml", ref SoftwareData);
xml.Load(); // NOT WORKING - SO I GENERATE MY OWN DATA BELOW
// Set up some test data to work with
urlData = new cUrlData();
urlData.Add("Program1",
"Program1.exe",
"myDownloads",
"http://www.source.com/program1.exe");
SoftwareData.Add(urlData);
urlData = new cUrlData();
urlData.Add("Program2",
"Program2.exe",
"myDownloads",
"http://www.source.com/program2.exe");
SoftwareData.Add(urlData);
urlData = new cUrlData();
urlData.Add("Program3",
"Program3.exe",
"myDownloads",
"http://www.source.com/program3.exe");
SoftwareData.Add(urlData);
}
Проблема, с которой я столкнулся, заключается в том, чтобы найти надежный способ преобразования Списка в файл XML и обратно. В настоящее время я перебираю список классов и вручную создаю файл xml по узлам и делаю то же самое при чтении его из файла xml в классы, но это подвержено ошибкам. Я попытался получить следующий код для чтения файла, но безрезультатно, и был бы признателен за некоторые советы, поскольку я уверен, что это проблема кодирования!
public void Load() {
XmlSerializer serializer = new XmlSerializer(typeof(List<cUrlData>));
using (XmlReader reader = XmlReader.Create("data.xml"))
{
cUrlData myXmlClass = (cUrlData)serializer.Deserialize(reader);
}
}
После загрузки я хочу попробовать и заставить его записать обратно в XML-файл. Опять же, аналогично приведенному выше коду.
Спасибо