LINQ to XML to update an attribue value?

I have this section in an xml file. I need to change the value for the AdminPassword.
What are the LINQ to XML statements I should use?



<configuration>
  <appSettings>
    <add key="AdminUsername" value="admin"/>
    <add key="AdminPassword" value="admin"/>
...
</appSettings>

Open in new window

jentel2Asked:
Who is Participating?
 
Fernando SotoConnect With a Mentor RetiredCommented:
Hi jentel2;

Here is code snippet to show how to load the XML file and modify the AdminPassword value and save the results back to the file.

Fernando

using System.Xml.Linq;
 
namespace WindowsFormsApplication52
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            // File location of XML file
            String filename = "web.config";
            // Load the document into the XElement
            XElement webConfig = XElement.Load(filename, LoadOptions.PreserveWhitespace);
            // Find the key AdminPassword and change its password in the value field
            (from ele in webConfig.Element("appSettings").Elements("add")
                where ele.Attribute("key").Value == "AdminPassword"
                select ele).First().SetAttributeValue("value", textBox1.Text);
 
            // Save the XML file back to the system
            webConfig.Save(filename);
            Console.WriteLine("Hello");
        }
    }
}

Open in new window

0
All Courses

From novice to tech pro — start learning today.