First of all this is C#. I am creating a internet dashboard for a small group of colleages in the NHS.
Below is an example xml file in which I need to change the innertext of. I need to replace a specific element for example “Workshop1.” Because we have a few workshops I cannot afford to use a general writer because it will replace all the information on the XML document with this one bit of code below.
<?xml version="1.0" ?>
<buttons>
<workshop1>hello</workshop1>
<url1>www.google.co.uk</url1>
I am using a switch case to select a specific workshop where you can change the name and add a URL of the workshop and using this code below will replace the whole document.
public void XMLW()
{
XmlTextReader reader = new XmlTextReader("C:\\myXmFile.xml");
XmlDocument doc = new XmlDocument();
switch (comboBox1.Text)
{
case "button1":
doc.Load(reader); //Assuming reader is your XmlReader
doc.SelectSingleNode("buttons/workshop1").InnerText = textBox1.Text;
reader.Close();
doc.Save(@"C:\myXmFile.xml");
break;
}
}
So just to clarify I want my C# program to search through the XML document find the element “Workshop1” and replace the innertext with text from a textBox. and be able to save it without replacing the whole document with one node. Thanks for looking.
Using
XmlDocumentand XPath you can do thisYou can use
doc.Saveto save the file also.Read more about
XmlDocumenton MSDN.EDIT
To save the document do this
Hope this helps you.