I have been trying to write textbox value to xml file but could not get it in right format as I wish to have
I am using following code
XDocument Xdoc = new XDocument(new XElement("Users"));
if (System.IO.File.Exists("D:\\Users.xml"))
Xdoc = XDocument.Load("D:\\Users.xml");
else
Xdoc = new XDocument();
XElement xml = /*new XElement("Users",*/
new XElement("User",
new XAttribute("UserId", txtUserId.Text),
new XAttribute("Password", txtPwd.Text));
if (Xdoc.Descendants().Count() > 0)
Xdoc.Descendants().First().Add(xml);
else
Xdoc.Add(xml);
Xdoc.Save("D:\\Users.xml");
Here i m getting xml in this format
<User UserId="Sunny" Password="Sunny">
<User UserId="Sunny" Password="Sunny" />
<User UserId="Sunny" Password="Sunny" />
</User>
But i wanna to have like this
<Users>
<User>
<UserId>Sunny</UserId>
<Password>pwd</Password>
</User>
<User>
<UserId>Sunny</UserId>
<Password>pwd</Password>
</User>
</Users>
My own answer
XDocument Xdoc = new XDocument(new XElement("Users"));
if (System.IO.File.Exists("D:\\Users.xml"))
Xdoc = XDocument.Load("D:\\Users.xml");
else
{
Xdoc = new XDocument();
XElement xmlstart = new XElement("Users");
Xdoc.Add(xmlstart);
}
XElement xml = /*new XElement("Users",*/
new XElement("User",
new XElement("UserId", txtUserId.Text),
new XElement("Password", txtPwd.Text));
if (Xdoc.Descendants().Count() > 0)
Xdoc.Descendants().First().Add(xml);
else
{
Xdoc.Add(xml);
}
Xdoc.Element("Users").Save("D:\\Users.xml");
This is giving me xml like
<?xml version="1.0" encoding="utf-8"?>
<Users>
<User>
<UserId>Sunny</UserId>
<Password>Sunny</Password>
</User>
<User>
<UserId>Sunny</UserId>
<Password>Sunny</Password>
</User>
<User>
<UserId>Sunny</UserId>
<Password>Sunny</Password>
</User>
</Users>