У меня есть метод, подобный ниже, где я получаю все значения параметра из другого метода, где
type = DeviceParameters
sourceXml = <?xml version="1.0" encoding="utf-16"?>
<ProductCode>
<DeviceParameters>
<P65>True</P65>
<HWVersion>1</HWVersion>
<Test>Test</Test>
<Test>hello</Test>
</DeviceParameters>
<FirmwareGates>
<Firmware>120.0.23</Firmware>
</FirmwareGates>
<ModemIncludeList>
<Modem>Test</Modem>
<ModemFirmware>2</ModemFirmware>
</ModemIncludeList>
</ProductCode>
oldParameterName= Test
oldParameterValue= hello
newParameterName = Test
parameterValue = hello123
Я пытаюсь обновить значение для узла <Test>hello</Test>
до <Test>hello123</Test>
РЕДАКТИРОВАТЬ: Я пытался удалить параметр и чтения с новым значением, но это кажется более сложным. Есть ли способ обновить значение?
private string EditParameter(TesterParameterCodeType type, string sourceXml, string oldParameterName, string oldParameterValue, string newParameterName, string parameterValue, int index)
{
XDocument doc = XDocument.Parse(sourceXml); // or XDocument.Parse(string)
doc.Root.Descendants().Where(e => e.Name == oldParameterName && e.Value == oldParameterValue).Remove();
var stringWriter = new StringWriter();
doc.Save(stringWriter);
return stringWriter.ToString();
}