Ik probeer een applicatie te bouwen welke een xml bestand gebruikt voor de instellingen.
k ben hier nog een flinke beginner in en haal zoveel mogelijk informatie van het internet af, maar voor dit probleem heb ik helaas geen oplossing kunnen vinden via google of op tweakers.
Het XML bestand ziet er zo uit:
Tijdens het opstarten van de applicatie wordt er gekeken in het xml bestand of dit de eerste keer is.
De code die ik hiervoor gebruik is:
Wanneer dit het geval is wordt een nieuw form genaamd ChangeSettings.cs geopend.
Bovenstaande functioneert allemaal top, tijdens het opstarten wordt er gecontroleerd of startedfirsttime op "yes" staat waarna er een nieuw form wordt geopend
Het probleem zit hem in ChangeSettings.cs.
In het settings formulier wil ik de instellingen in het XML bestand kunnen aanpassen.
Dit doe ik met de volgende code:
Hier krijg ik de volgende foutmelding:
Tevens heb ik
Weet iemand hoe dit is op te lossen?
Alvast bedankt voor jullie hulp
*Edit 1: Een groot deel van de informatie heb ik van How To Modify and Save XML with the XmlDocument Class in the .NET Framework SDK afgehaald.
k ben hier nog een flinke beginner in en haal zoveel mogelijk informatie van het internet af, maar voor dit probleem heb ik helaas geen oplossing kunnen vinden via google of op tweakers.
Het XML bestand ziet er zo uit:
C#: settings.xml
1
2
3
4
5
6
7
8
9
10
| <?xml version='1.0'?> <settings> <settingtype type="startfirsttime"> <startedfirsttime>yes</startedfirsttime> </settingtype> <settingtype type="Startpage"> <url>http://www.google.nl</url> <websitename>Google.nl</websitename> </settingtype> </settings> |
Tijdens het opstarten van de applicatie wordt er gekeken in het xml bestand of dit de eerste keer is.
De code die ik hiervoor gebruik is:
C#: Form1.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| System.IO.StreamReader sr = new System.IO.StreamReader(@"Settings.xml"); System.Xml.XmlTextReader xr = new System.Xml.XmlTextReader(sr); System.Xml.XmlDocument settings = new System.Xml.XmlDocument(); settings.Load(xr); // Verbinding met XML document maken System.Xml.XmlNodeList settingitems = settings.SelectNodes("settings/settingtype"); System.Xml.XmlNode firsttime = settingitems.Item(0).SelectSingleNode("startedfirsttime"); // navigeren naar het startedfirsttime veld if (firsttime.InnerText == "yes") { this.TopMost = false; ChangeSettings changesettings = new ChangeSettings(); changesettings.Show(); // Settings scherm openen } |
Wanneer dit het geval is wordt een nieuw form genaamd ChangeSettings.cs geopend.
Bovenstaande functioneert allemaal top, tijdens het opstarten wordt er gecontroleerd of startedfirsttime op "yes" staat waarna er een nieuw form wordt geopend
Het probleem zit hem in ChangeSettings.cs.
In het settings formulier wil ik de instellingen in het XML bestand kunnen aanpassen.
Dit doe ik met de volgende code:
C#: ChangeSettings.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
| System.IO.StreamReader sr = new System.IO.StreamReader(@"settings.xml"); System.Xml.XmlTextReader xr = new System.Xml.XmlTextReader(sr); System.Xml.XmlDocument settings = new System.Xml.XmlDocument(); settings.Load(xr); XmlNode node; node = settings.DocumentElement; foreach (XmlNode node1 in node.ChildNodes) foreach (XmlNode node2 in node1.ChildNodes) if (node2.InnerText == "yes") { node2.InnerText = "no"; } settings.Save(@"settings.xml"); |
Hier krijg ik de volgende foutmelding:
Ik heb de code ook al in mijn hoofdformulier geplaatst (Form1.cs) maar daar wordt dezelfde foutmelding gegeven.System.IO.IOException: Kan geen toegang krijgen tot het bestand D:\C#\Oefen code\Progje\Progje\bin\Debug\settings.xml omdat het wordt gebruikt door een ander proces.
Tevens heb ik
C#:
geprobeerd en 1
| xr.Close(); |
C#:
Maar beiden mochten niet baten.1
| sr.Close(); |
Weet iemand hoe dit is op te lossen?
Alvast bedankt voor jullie hulp
*Edit 1: Een groot deel van de informatie heb ik van How To Modify and Save XML with the XmlDocument Class in the .NET Framework SDK afgehaald.