How to read and write XML in C#
XML (Extensible Markup Language) is a
flexible way to create common information formats and share both the format and
the data on the World Wide Web, intranets, and elsewhere. XML is a set of rules,
published by the World Wide Web Consortium, for building new languages. The
languages in question are not written or spoken primarily for human consumption.
This demonstration showing how can we
save color setting of textboxes and get color setting of textboxes from xml
file, we change backcolor and foreColor of textbox and when we want when our
application will be run on the system BackColor and foreColor of textboxes
should be previously color setting, it means previous color setting of textbox
should display, this demonstration
will help to save color setting of textbox in XML format and also get color from
XML file.
Code
public
partial
class
Form1 :
Form
{
public Form1()
{
InitializeComponent();
}
ColorDialog
cd =
new
ColorDialog();//creating the instance of
ColorDialog
int flag = 0;//creating int
variable
private
void Form1_Load(object sender,
EventArgs e)
{
XmlReaderSettings
setting =
new
XmlReaderSettings();//creating object of
xmlReaderSetting class it will read xml file
setting.IgnoreWhitespace =
true;//ignoring
whit space in xml file
using (XmlReader
reader = XmlReader.Create("D:\\Sachindra\\ColorChange\\ColorChange\\bin\\Debug\\ColorChange.xml",
setting))//providing path where xml file is
save
{
while (reader.Read())//loop executing
{
if (reader.NodeType ==
XmlNodeType.Element &&
reader.Name == "txtBox1BackColor")//checking condition
{
string
strCmb1 =
reader.ReadElementString();//storing value of
txtBox1BackColor element(backcolor) in string variable
txtBox1.BackColor = System.Drawing.ColorTranslator.FromHtml(strCmb1);//converting string value
into color and changing backcolor of textbox
}
if (reader.NodeType ==
XmlNodeType.Element &&
reader.Name == "txtBox1ForeColor")//checking condition
{
string
strCmb1 =
reader.ReadElementString();//storing value of
txtBox1BackColor element (backcolor) in string variable
txtBox1.ForeColor = System.Drawing.ColorTranslator.FromHtml(strCmb1);//converting string value
into color and changing forecolor of textbox
}
if (reader.NodeType ==
XmlNodeType.Element &&
reader.Name == "txtBox2BackColor")//checking condition
{
string
strCmb1 =
reader.ReadElementString();//storing value of
txtBox2BackColor element(backcolor) in string variable
txtBox2.BackColor = System.Drawing.ColorTranslator.FromHtml(strCmb1);//converting string value
into color and changing backcolor of textbox
}
if (reader.NodeType ==
XmlNodeType.Element &&
reader.Name == "txtBox2ForeColor")//checking condition
{
string
strCmb1 =
reader.ReadElementString();//storing value of
txtBox2ForeColor element in string variable
txtBox2.ForeColor = System.Drawing.ColorTranslator.FromHtml(strCmb1);//converting string value
into color and changing backcolor of textbox
}
if (reader.NodeType ==
XmlNodeType.Element &&
reader.Name == "txtBox3BackColor")//checking condition
{
string
strCmb1 =
reader.ReadElementString();//storing value of
txtBox3BackColor element in string variable
txtBox3.BackColor = System.Drawing.ColorTranslator.FromHtml(strCmb1);//converting string value
into color and changing backcolor of textbox
}
if (reader.NodeType ==
XmlNodeType.Element &&
reader.Name == "txtBox3ForeColor")//checking condition
{
string
strCmb1 =
reader.ReadElementString();//storing value of
txtBox3ForeColor element in string variable
txtBox3.ForeColor = System.Drawing.ColorTranslator.FromHtml(strCmb1);//converting string value
into color and changing backcolor of textbox
}
}
}
}
private
void
btnColorDialog1_Click(object
sender, EventArgs e)
{
if (flag == 0)//checking condition
{
cd.ShowDialog();//it will show color dialog
txtBox1.BackColor = cd.Color;//setting
backcolor of textbox
}
if (flag == 1)//checking condtion
{
cd.ShowDialog();//it will show color dialog
txtBox1.ForeColor = cd.Color;//setting
forecolor of textbox
flag
= 0;//initializing flag from 0
}
}
private
void
txtBox1_MouseCaptureChanged(object
sender, EventArgs e)
{
flag = 1;//initializing
flag from 1 when txtBox1 get
MouseCapture event will raise
}
private
void
btnColorDailog2_Click(object
sender, EventArgs e)
{
if (flag == 0)//checking condition
{
cd.ShowDialog();//it will show color dialog
txtBox2.BackColor = cd.Color;//setting
backcolor of textbox
}
if (flag == 1)//checking condtion
{
cd.ShowDialog();//it will show color dialog
txtBox2.ForeColor = cd.Color;//setting
forecolor of textbox
flag
= 0;//initializing flag from 0
}
}
private
void
txtBox2_MouseCaptureChanged(object
sender, EventArgs e)
{
flag = 1;//initializing
flag from 1 when txtBox2 get MouseCapture event will raise
}
private
void
btnColorDialog3_Click(object
sender, EventArgs e)
{
if (flag == 0)//checking condition
{
cd.ShowDialog();//it will show color dialog
txtBox3.BackColor = cd.Color;//setting
backcolor of textbox
}
if (flag == 1)//checking condtion
{
cd.ShowDialog();//it will show color dialog
txtBox3.ForeColor = cd.Color;//setting
forecolor of textbox
flag
= 0;//initializing flag from 0
}
}
private
void
txtBox3_MouseCaptureChanged(object
sender, EventArgs e)
{
flag = 1;//initializing
flag from 1 when txtBox3 get MouseCapture event will raise
}
private
void btn_Click(object sender,
EventArgs e)
{
XmlWriterSettings
setting =
new
XmlWriterSettings();//creating object of
XmlWriterSettings that write data in xml format
setting.Indent = true;
setting.IndentChars =
" ";
setting.NewLineOnAttributes =
true;
using (XmlWriter
write = XmlWriter.Create("D:\\Sachindra\\ColorChange\\ColorChange\\bin\\Debug\\ColorChange.xml",
setting))//passing path and write storing path where file will be
write
{
write.WriteStartElement("Color");//root element
write.WriteStartElement("ChangeColor");//element
write.WriteElementString(txtBox1.Name +
"BackColor", System.Drawing.ColorTranslator.ToHtml(txtBox1.BackColor));//writing textbox name and backcolor in xml format
write.WriteElementString(txtBox1.Name +
"ForeColor", System.Drawing.ColorTranslator.ToHtml(txtBox1.ForeColor));//writing textbox name and forecolor in xml format
write.WriteElementString(txtBox2.Name +
"BackColor", System.Drawing.ColorTranslator.ToHtml(txtBox2.BackColor));//writing textbox name and backcolor in xml format
write.WriteElementString(txtBox2.Name +
"ForeColor", System.Drawing.ColorTranslator.ToHtml(txtBox2.ForeColor));//writing textbox name and forecolor in xml format
write.WriteElementString(txtBox3.Name +
"BackColor", System.Drawing.ColorTranslator.ToHtml(txtBox3.BackColor));//writing textbox name and backcolor in xml format
write.WriteElementString(txtBox3.Name +
"ForeColor", System.Drawing.ColorTranslator.ToHtml(txtBox3.ForeColor));//writing textbox name and forecolor in xml format
write.WriteEndElement();//closing element
write.Flush();//flush
method use for forcefully to write data
}
}
private
void button1_Click(object sender,
EventArgs e)
{
this.Close();//apllication will be
close
}
}
This demonstration showing backcolor
and forecolor of texboxes has changed and when we click on save button it will
save in XML format.

After color changes of textboxes XML file will save setting of backcolor and forecolor of textboxes in
XML format as shown below:

This is the simple demonstration on "how to read xml and write xml in c#.net".
|