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
)?