2017-08-10 58 views
0

我有一個XmlNode其中我更新了一個'節點'。現在我想用更改後的值更新我的原始節點,但我無法這樣做。下面是代碼:如何更新XmlNode InnerXml

XmlNode parametersNode = p_xmlServiceRequest.SelectSingleNode("//Parameters"); 
XmlDocument doc = new XmlDocument(); 
doc.LoadXml(parametersNode.OuterXml); 

XmlNode nodeXML = doc.SelectSingleNode("/Parameters/Parameter[@Name='PolNum']"); 
nodeXML.Attributes["Value"].Value.Replace('g','G'); 

我如何與nodeXML新值更新我的parametersNode

+0

'String.Replace'不會替換現有的值,而是返回一個帶有替換值的新字符串。您需要分配該新值。 –

+0

@ManfredRadlwimmer我們該怎麼做? – Lara

+0

您的意思是*「如何在C#中分配值」*? –

回答

2

大部分代碼是不必要的,可以刪除。主要問題是,Replace不會替換原始值,而是會返回一個新字符串,其中包含替換值。除非有其他問題,否則這應該起作用:

XmlNode nodeXML = p_xmlServiceRequest.SelectSingleNode("//Parameters/Parameter[@Name='PolNum']"); 
nodeXML.Attributes["Value"].Value = nodeXML.Attributes["Value"].Value.Replace('g','G');