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 文件中的数据的主要内容,如果未能解决你的问题,请参考以下文章