J'ai la classe suivante et je suis en train de sérialisation et la désérialisation de et vers un fichier XML:C# deserialize fichier xml pour former Liste <T>
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;
}
}
J'utilise le code suivant pour tester ceci:
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);
}
Le problème que j'ai est de trouver un moyen fiable de convertir la liste vers et à partir d'un fichier XML. Je parcourt actuellement la liste des classes en boucle et crée manuellement le noeud xml par noeud et fait la même chose en le lisant depuis le fichier xml vers les classes mais cela est sujet aux erreurs. J'ai essayé d'obtenir le code suivant pour lire le dossier mais en vain et serais reconnaissant de quelques conseils car je suis sûr que c'est un problème de codage!
public void Load() {
XmlSerializer serializer = new XmlSerializer(typeof(List<cUrlData>));
using (XmlReader reader = XmlReader.Create("data.xml"))
{
cUrlData myXmlClass = (cUrlData)serializer.Deserialize(reader);
}
}
Une fois chargé, je veux essayer de l'écrire dans un fichier xml. Encore une fois, de la même manière que le code ci-dessus.
Merci
Vous utilisez XmlSerializer mais aucun des attributs XML, mais là encore, ils ne peuvent pas être plus nécessaires, j'oublie s'ils ont que sortir du cadre comme ils l'ont fait avec sérialisation JSON ... – jcolebrand