Tutorial: Retrieving XML Config file values
Description: This topic will show you how to go through a Configuration XML file and get the values for the Element you want.
1. Inside of your project, add a "Config" folder.
2. Inside the "Config" folder, add new configurations file.
3. Inside this Config file, put some XML in it.. Such as:
<xml version="1.0" encoding="utf-8" ?>
<configuration>
<maildomain>mydomain</maildomain>
<accounts>
<account>
<username>dave@covertcoder.com</username>
<password>mypassword<password>
</< color="#993300" account>
<account>
<username>david@covertcoder.com</username>
<password>mypassword</password>
</< color="#993300" account>
</< color="#993300" accounts>
</< color="#993300" configuration>
4. Create a class within your project caled "MailAccountSettings" that you will use Globally within your application
[Serializable]
class MailAccountSettings
{
private static string _UserName;
private static string _Password;
static internal string UserName
{
get { return _UserName; }
set { _UserName = value; }
}
static internal string Password
{
get { return _Password; }
set { _Password = value; }
}
}
5. Create a class object that will populate the class object from your XML configuration file.
using System.Windows.Forms;
using System.Xml;
class MailServerSetup
{
static internal void SetMailServerConfigurations()
{
try
{
string StartupPath = Application.StarupPath;
XmlTextreader MailSetupXML = new XmlTextreader(StartupPath + @"\Config\MailSetup.config");
string xmlValue = string.Empty;
while (MailSetupXML.Read())
{
switch (MailSetupXML.NodeType)
{
case XmlNodeType.Element:
{
xmlValue = MailSetupXML.Name;
break;
}
case XmlNodeType.Text:
{
switch (xmlValue)
{
case "username":
{
MailAccountSettings.UserName = MailSetupXML.Value;
break;
}
case "password":
{
MailAccountSettings.Password = MailSetupXML.Value;
break;
}
}
break;
}
}
}
}
catch (Exception ex)
{}
}
}
6. To wire it all and to populate the class with your values from the configuration file, just call the Setup from your some initialization point within your application, like the _Load event, form constructor, Services _Startup method.
public frmMailApplication()
{
MailServerSetup.SetMailServerConfigurations();
InitializeComponent();
}