Thursday, August 11, 2016

CRUD operation with XML file

This is the XML document:

<?xml version="1.0" encoding="utf-8"?>
<NewDataSet>
<Table>
    <Username>Ashutosh</Name>
    <EMail>test@xyz.com</Age>
</Table>
</NewDataSet>

To add new node in XML document.  

void AddUser()
    {
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load("User.xml");
            XmlElement subRoot = xmlDoc.CreateElement("Table");
            //UserName
            XmlElement appendedElementUsername = xmlDoc.CreateElement("Name");
            XmlText xmlTextUserName = xmlDoc.CreateTextNode("Ashutosh");
            appendedElementUsername.AppendChild(xmlTextUserName);
            subRoot.AppendChild(appendedElementUsername);
            xmlDoc.DocumentElement.AppendChild(subRoot);
            //Age
            XmlElement appendedElementAge = xmlDoc.CreateElement("Age");
            XmlText xmlTextAge = xmlDoc.CreateTextNode(25);
            appendedElementEmail.AppendChild(xmlTextAge );
            subRoot.AppendChild(appendedElementAge );
            xmlDoc.DocumentElement.AppendChild(subRoot);
            xmlDoc.Save("User.xml");
    }

To Update a particular node in XML document.

void UpdateUser()
    {  
        XDocument XMLDoc = XDocument.Load(XMLfile);

        IEnumerable<XElement> elem_list = from elem in XMLDoc.Descendants("Table")
                                          where elem.Element("Name").Value == "Ashutosh"
                                          select elem;

        XElement[] elem_array = elem_list.ToArray();
        foreach (XElement elem in elem_array)
        {
            elem.Element("Name").Value = "Ashutosh Sharma";
            elem.Element("Age").Value = "26";          
        }
        XMLDoc.Save("User.xml");
    }

To Delete a particular node from XML document:

void DeleteUser()
{
  XDocument xmldoc= XDocument.Load(XMLfile);
    XElement user= xmloc.Descendants("Table").FirstOrDefault(p => p.Element("Name").Value == "Ashutosh");

    if (user!= null)
    {
        user.Remove();
        xmldoc.Save("User.xml");
    }
}


No comments:

Post a Comment