Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何更新XmlNode InnerXml_C#_Xml - Fatal编程技术网

C# 如何更新XmlNode InnerXml

C# 如何更新XmlNode InnerXml,c#,xml,C#,Xml,我有一个XmlNode,其中更新了一个“节点”。现在我想用新节点更新我的原始节点,但我不能这样做。代码如下: XmlNode parametersNode = p_xmlServiceRequest.SelectSingleNode("//Parameters"); XmlDocument doc = new XmlDocument(); doc.LoadXml(parametersNode.OuterXml); XmlNode nodeXML = doc.SelectSingleNode("

我有一个
XmlNode
,其中更新了一个“节点”。现在我想用新节点更新我的原始节点,但我不能这样做。代码如下:

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
更新我的
参数node

大多数代码都是不必要的,可以删除。主要问题是,
Replace
不会替换原始值,而是返回一个新字符串和替换后的值。除非有其他问题,否则这应该是可行的:

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

大部分代码都是不必要的,可以删除。主要问题是,
Replace
不会替换原始值,而是返回一个新字符串和替换后的值。除非有其他问题,否则这应该是可行的:

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

String.Replace
将不会替换现有值,而是返回一个新字符串和替换后的值。你需要分配那个新值。@ManfredRadlwimmer我们怎么做?你的意思是“我怎么分配C#中的值?”吗@ManfredRadlwimmer我的意思是如何分配
参数node.InnerXml
的新值
nodeXML
我看不到你在代码中的任何地方使用
InnerXml
。我以为你只想替换属性值?或者更确切地说:为什么不编辑原始值(省略
doc.Load
)?
String.Replace
不会替换现有值,而是返回一个包含替换值的新字符串。你需要分配那个新值。@ManfredRadlwimmer我们怎么做?你的意思是“我怎么分配C#中的值?”吗@ManfredRadlwimmer我的意思是如何分配
参数node.InnerXml
的新值
nodeXML
我看不到你在代码中的任何地方使用
InnerXml
。我以为你只想替换属性值?或者更确切地说:为什么不编辑原始文件(省略
doc.Load
)?