Try the following code:
var doc = XDocument.Load("XMLFile1.xml");//XMLFile1.xml contains the xml fragment supplied by you
var element = doc.XPathSelectElement("root//signature");//Here you can supply any Xpath as parameter
element.Value = "myValue";
doc.Save("XMLFile2.xml");
/*
There are multiple methods for using Xpath
If you expect a single element to be returned, use XPathSelectElement
If you expect multiple elements, use XPathSelectElements
If you expect any node, then use XPathEvaluate
There are overloads for each of these which take an IXmlNamespaceResolver in case you have to work with Xml namespaces
*/
// Please note, the xml fragment provided by you has &* as a part of the value for signature element, which was throwing errors. It's prob'ly not a valid value. I had to replace it with some text. Please check this out.