Ancora oggi, purtroppo, durante lo sviluppo di un'applicazione vengono utilizzati file .ini, metodo ormai obsoleto. Vediamo come salvare il testo contenuto nelle TextBox di un Form in un file .xml e successivamente ricaricare i dati nei rispettivi TextBox.
- Esempio file app.config
- Scrittura del file app.config
- Lettura del file app.config
- Lettura del file app.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<app key="Nome" value="Mario Rossi" />
<app key="Email" value="mariorossi@blabla.it" />
</appSettings>
</configuration>
string ConfigFile = "app.config";
FileStream fs = new FileStream(ConfigFile, FileMode.Create);
XmlTextWriter w = new XmlTextWriter(fs, Encoding.UTF8);
w.WriteStartDocument();
w.WriteStartElement("configuration");
w.WriteStartElement("appSettings");
w.WriteStartElement("app");
w.WriteAttributeString("key", "Nome");
w.WriteAttributeString("value", textBoxUser.Text);
w.WriteEndElement();
w.WriteStartElement("app");
w.WriteAttributeString("key", "Email");
w.WriteAttributeString("value", textBoxEmail.Text);
w.WriteEndElement();
w.Flush();
fs.Close();
string ConfigFile = "app.config";
FileStream fs = new FileStream(ConfigFile, FileMode.Create);
XmlTextWriter w = new XmlTextWriter(fs, Encoding.UTF8);
w.WriteStartDocument();
w.WriteStartElement("configuration");
w.WriteStartElement("appSettings");
w.WriteStartElement("app");
w.WriteAttributeString("key", "Nome");
w.WriteAttributeString("value", textBoxUser.Text);
w.WriteEndElement();
w.WriteStartElement("app");
w.WriteAttributeString("key", "Email");
w.WriteAttributeString("value", textBoxEmail.Text);
w.WriteEndElement();
w.Flush();
fs.Close();
public static NameValueCollection AppSettings;
private void load_Config()
{
try
{
if (File.Exists(ConfigFile))
{
XmlDocument oXml = new XmlDocument();
oXml.Load(ConfigFile);
XmlNodeList appList = oXml.GetElementsByTagName("appSettings");
AppSettings = new NameValueCollection();
foreach (XmlNode aNode in appList)
{
foreach (XmlNode aKey in aNode.ChildNodes)
{
AppSettings.Add(aKey.Attributes["key"].Value, aKey.Attributes["value"].Value);
}
}
textBoxUser.Text = AppSettings["Nome"];
textBoxEmail.Text = AppSettings["Email"];
}
}
catch
{
MessageBox.Show("Errore lettura file di configurazione.");
}
}
Non dimenticare ovviamente di aggiungere i namespace System.Xml, System.Collections.Specialized e System.IO.
1 commenti:
ciao,
scusa ma per il caricamento del file nelle rispettive textbox come si fa che leggendo il tuo articolo non mi è molto chiaro.
grazie e ottimo lavoro
Posta un commento