Sérialiser la classe en XML?

J’ai la classe suivante et la liste qui la contient:

public class Transport { public ssortingng TransportType { get; set; } public ssortingng Mode { get; set; } public class Coordinates { public float ID { get; set; } public float LocX { get; set; } public float LocY { get; set; } public float LocZ { get; set; } public ObjectState State { get; set; } public List Connections = new (); } } public enum ObjectState { Fly, Ground, Water } public static List Tracking = new List(); 

Comment sérialiser le suivi en XML?

Je sais que je peux utiliser [Serializable] sur la liste et le sérialiser dans un fichier, mais je ne suis pas sûr de la façon dont je le définis pour qu’il soit enregistré au format XML.

Si vos deux classes ont été marquées avec l’atsortingbut [Serializable] , l’enregistrement des éléments dans un fichier doit être aussi simple que:

 var serializer = new XmlSerializer(typeof(Transport)); using(var writer = new StreamWriter("C:\\Path\\To\\File.xml")) { serializer.Serialize(writer, instance); } 

Mettre à jour

Désolé, vous n’avez pas réalisé que vous demandiez comment personnaliser le résultat. C’est à quoi [XmlAtsortingbute] et [XmlElement] :

 public class Transport { // Store TransportType as an attrribute called Type in the XML [XmlAtsortingbute("Type")] public ssortingng TransportType { get; set; } // Rest of Implementation } 

Vous avez besoin d’un stream et d’un object XmlSerializer, voici un exemple:

 FileStream fs = new FileStream(@"C:\MyPath", FileMode.OpenOrCreate); xmlSerializer = new XmlSerializer(typeof(MyClass)); xmlSerializer.Serialize(fs, myClassInstance); fs.Flush(); fs.Close(); fs.Dispose(); 

N’oubliez pas de gérer les erreurs à votre façon. Et je suppose également que vous souhaitez sérialiser toutes les propriétés de votre classe.