Jag sitter som praktikant på ett företag som har blivit ombedda att programmera ett Backup program, företaget jag sitter på vill även att programmet ska kunna säljas till andra företag så det måste vara dynamiskt på alla olika sätt. XML är ofta passande i sådana där fall. Som jag förstår det lyckas du spara inställningarna med XML? I så fall rekommenderar jag att du använder ett XPathDocument för att hämta XML-data, då får du enkla metoder för att gå igenom de olika noderna. Du kan då också enkelt söka igenom XML-data med XPath-uttryck. Jag brukar ha alla användainställningar i en struktur/klass och sen bara göra nåt i stil med:Kris! Spara användar inställningar
Som det är just nu så sparar jag vilken mapp allt ska hamna i vid backup i en listbox och en annan listbox för själva filerna som ska köras backup på om det skulle vara så att det inte är en fil utan en table så har jag gjort textrutor där man fyller i DataSource och användarnamn lösenord och allt det där.
Men kunden vill att efter han en gång valt filerna så ska han kunna och manuellt trycka på en knapp och så ska allt skötas automatiskt, enda andra kravet var att det också skulle stå vad den pysslar med.
Mitt problem är att spara alla inställningar han gör så att jag kan fylla i dessa när han trycker på "OneClick" knappen, provade med Properties.Settings.Default.<namn> men den funktionen verkar inte vilja vara med om några typer av arrayer, och då skiter det sig ju med att kunna spara flera filer, jag har också provat med XML vilket jag måste erkänna att jag inte är direkt hemma på, men där är problemet att jag inte lyckas plocka ut element för element på ett sätt som inte kräver en hel application i sig.
Så jag undrar nu om någon har ett tips åt mig?Sv: Kris! Spara användar inställningar
Kolla gärna www.w3schools.com och klicka på "Learn XPath" om du behöver hjälp med vanliga frågeuttryck.Sv: Kris! Spara användar inställningar
<code>
string filepath = Path.Combine(System.Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), SettingsFileName);
System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(typeof(MySettings));
if (System.IO.File.Exists(filepath)) {
using (StreamReader sr = new StreamReader(filepath))
Settings = (MySettings)serializer.Deserialize(sr);
}
else { // filen finns ej skapa en med standardvärden.
Settings = new MySettings();
using (StreamWriter sw = new StreamWriter(filepath))
serializer.Serialize(sw, Settings);
}
}
</code>