2009-07-28 8 views
1

J'ai avons une collection Observable contenant des objets clients:Quel est le moyen le plus simple de sauvegarder un collectin d'objet Observable dans un fichier XML?

public class Customer 
    { 
    public string FirstName { get; set; } 
    public string LastName { get; set; } 
    public string Street { get; set; } 
    public string Location { get; set; } 
    public string ZipCode { get; set; } 
    } 

Quelle est la meilleure façon de vider ceci dans un fichier XML pour que je puisse le lire plus tard?

Répondre

10

sérialisation XML:

ObservableCollection<Customer> customers = new ObservableCollection<Customer>(); 
... 

XmlSerializer xs = new XmlSerializer(typeof(ObservableCollection<Customer>)); 
using (StreamWriter wr = new StreamWriter("customers.xml")) 
{ 
    xs.Serialize(wr, customers); 
} 

Pour recharger les données du fichier:

XmlSerializer xs = new XmlSerializer(typeof(ObservableCollection<Customer>)); 
using (StreamReader rd = new StreamReader("customers.xml")) 
{ 
    customers = xs.Deserialize(rd) as ObservableCollection<Customer>; 
} 
+0

pourrait vous s'il vous plaît me dire comment vous l'avez à travailler, sous le StreamWriter ("customers.xml") Je reçois toujours un message d'erreur disant "Argument 1: impossible de convertir" chaîne "en" System.IO.Stream "" –

+0

@DarkTemplar quelle plate-forme ciblez-vous? Le constructeur 'StreamWriter' qui accepte le nom de fichier n'est pas supporté sur toutes les plateformes; vous devrez peut-être ouvrir le fichier d'une autre manière et passer manuellement le 'Stream' à' StreamWriter' –

+0

Je cible UWP, j'ai regardé dans google pour savoir comment faire cela en uwp et je n'ai rien trouvé –

Questions connexes