Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Update value in xml file

Tags:

c#

xml

I have a xml-file:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<root>
  <level>
    <node1 />
    <node2 />
    <node3 />
  </level>
</root>

What is the simplest way to insert values in node1, node2, node3 ?

C#, Visual Studio 2005

like image 594
Alexander Stalt Avatar asked Jan 26 '10 07:01

Alexander Stalt


2 Answers

//Here is the variable with which you assign a new value to the attribute
    string newValue = string.Empty 
    XmlDocument xmlDoc = new XmlDocument();

    xmlDoc.Load(xmlFile);

    XmlNode node = xmlDoc.SelectSingleNode("Root/Node/Element");
    node.Attributes[0].Value = newValue;

    xmlDoc.Save(xmlFile);

Credit goes to Padrino

How to change XML Attribute

like image 23
Jeeva Subburaj Avatar answered Oct 22 '22 11:10

Jeeva Subburaj


Here you go:

XmlDocument xmldoc = new XmlDocument();
xmldoc.LoadXml(@"
    <root>
        <level>
            <node1 />
            <node2 />
            <node3 />
        </level>
    </root>");
XmlElement node1 = xmldoc.SelectSingleNode("/root/level/node1") as XmlElement;
if (node1 != null)
{
    node1.InnerText = "something"; // if you want a text
    node1.SetAttribute("attr", "value"); // if you want an attribute
    node1.AppendChild(xmldoc.CreateElement("subnode1")); // if you want a subnode
}
like image 102
Rubens Farias Avatar answered Oct 22 '22 10:10

Rubens Farias