C#/XML:通过文本框更改/替换 XML 文件中的数据

Posted

技术标签:

【中文标题】C#/XML:通过文本框更改/替换 XML 文件中的数据【英文标题】:C#/XML: Change/Replace data from an XML file via textbox 【发布时间】:2010-07-23 08:35:51 【问题描述】:

我有一个包含以下内容的 XML 文件:

<config>
  <webservices>
     <webservice>
       <name>A</name>
       <value>http://www.123.com</value>
     </webservice>
     <proxy enabled="false" useiedefault="false">
       <name>
       </name>
       <value>
       </value>
     </proxy>
  </webservices>
</config>

有没有办法通过 C# 中的文本框更改“webservice value”(来自 XML 文件)的值,然后保存/更新它?

TextBox1.Text = "http://www.abc.com";
// change value of xml

【问题讨论】:

你可以使用javascript吗?如果是这样,那么尝试使用 javascript 【参考方案1】:

我收到“文件已被其他东西打开”类型错误。

这是我修改过的代码,现在它适用于我:

StreamReader fileStream = new StreamReader(filename);

var doc = new XmlDocument();

doc.Load(fileStream);

var node = doc.SelectSingleNode(@"config/webservices/webservice/value");

node.InnerText = TextBox1.Text;

fileStream.Close();

doc.Save(文件名);

【讨论】:

【参考方案2】:

此代码片段应该可以工作,其中 fileName 是您的 XML 文件的完整路径:

var doc = new XmlDocument();
doc.Load(fileName);
var node = doc.SelectSingleNode(@"config/webservices/webservice/value");
node.InnerText = TextBox1.Text;
doc.Save(fileName);

【讨论】:

以上是关于C#/XML:通过文本框更改/替换 XML 文件中的数据的主要内容,如果未能解决你的问题,请参考以下文章

元素内部文本的 XML 文件转换?

在linux下,要更新一个jar包里的xml文件,命令怎么写?如何指定要替换的jar包中的路径?

如何引用文本框中包含的文本来创建 XML 文件?

无法在 C# 中读取 XML 节点

从 XML 文件填充文本框

如何强制editText框格式化缩进替换文本?