C#怎么修改XML元素的内容?

我想通过运行前台的配置程序修改XML文件的内容达到存储数据库连接字符串的目的我的XML文件是这样的其实就是app.config<?xmlversion="1.0"enco... 我想通过运行前台的配置程序 修改XML文件的内容 达到存储数据库连接字符串的目的 我的XML文件是这样的 其实就是app.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSetings>
<server></server>
<database></database>
<uid></uid>
<pwd></pwd>
</appSetings>
</configuration>

下边这些元素的内容我空着 在用户进行前台配置的时候写入元素内容
不知道我称<server></server>中间的部分为元素的内容对不对 书上是这样说的 呵呵
<server></server>
<database></database>
<uid></uid>
<pwd></pwd>

用户在前台的各文本框中写入数据库服务器名称、数据库名称等项后 点保存
能否把值传给XML文件中各元素呢

怎么实现呢 能否把关键代码提供一下 谢谢了
展开
 我来答
wapdos123
2010-01-08 · TA获得超过159个赞
知道答主
回答量:106
采纳率:0%
帮助的人:78.5万
展开全部
XmlDocument xml = new XmlDocument();
xml.load("这里是你放XML文件的路径");
XmlNode node = xml.SelectSingleNode("configuration");// 获取configuration节点
XmlNodeList nodeList = xml.SelectSigle("configuration").Childnodes;//获取configuration的子节点
foreach(XmlNode xn in nodeList)
{
XmlElement xe = (XmlElement) xn;//将子节点类型转换为XmlElement
XmlNodeList xo = xe.ChildNodes;//继续获取xe子节点
foreach(XmlNode xl in xo)
{
XmlElement xx = (XmlElement) xl;//将子节点类型转换为XmlElement
if(xx.Name==server)
{
xx.InnerText = ..//这里是你要配置元素server的内容
}
同理if(xx.Name==database)
{
...
}
.
.
}

}
xml.Save("这里是你放XML文件的路径");
孤阳雄Q
2010-01-08 · TA获得超过239个赞
知道小有建树答主
回答量:219
采纳率:0%
帮助的人:295万
展开全部
可以实现的:try
{
XmlDocument doc = new XmlDocument();
doc.Load("conf.xml");
XmlNodeList xnl = doc.GetElementsByTagName("Parameters");
foreach (XmlNode node in xnl)
{
if (node.ChildNodes[0].InnerText == this.cmbButton.Text)
{
node.ChildNodes[1].InnerText = this.txtPath.Text;
doc.Save("conf.xml");
MessageBox.Show("修改成功!", "提示");
break;
}
}
}
catch
{
return;
}

这是实例,希望对你有帮助。要还是不会 可以HI我
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
flyinglede
2010-01-08 · TA获得超过262个赞
知道小有建树答主
回答量:411
采纳率:0%
帮助的人:216万
展开全部
不能用你的<server></server>来实现

要用<add key="DatabaseType" value="MSSQL"/> 类似的语句

关于怎么用程序修改XML文件内容,网上资源甚多。

给点简单代码供你参考, VB代码
Public Sub SetAppsettingDatabaseType(ByVal type As String)

Dim absolutePath = System.Web.HttpContext.Current.Server.MapPath(System.Web.HttpContext.Current.Request.ApplicationPath.ToString()).ToString
Dim mappath As String = absolutePath & "\web.config"
Dim xmlDoc As New XmlDocument
xmlDoc.Load(mappath)

Dim xnl As XmlNodeList = xmlDoc.SelectSingleNode("descendant::configuration/appSettings").ChildNodes

For Each xn As XmlNode In xnl
Dim xe As XmlElement = CType(xn, XmlElement)
If xe.GetAttribute("key") = "DatabaseType" Then
xe.SetAttribute("value", type)

End If
Next
xmlDoc.Save(mappath)

End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友2fb8851
2010-01-08 · TA获得超过118个赞
知道小有建树答主
回答量:123
采纳率:0%
帮助的人:0
展开全部
DataSet dbInfo = new DataSet();
dbInfo.Tables.Add("dbConnection");
dbInfo.Tables["dbConnection"].Columns.Add("server");
dbInfo.Tables["dbConnection"].Columns.Add("database");
dbInfo.Tables["dbConnection"].Columns.Add("uid");
dbInfo.Tables["dbConnection"].Columns.Add("pwd");
System.Data.DataRow dr = dbInfo.Tables["dbConnection"].NewRow();
dr[0] = txtServer.Text;
dr[1] = txtDB.Text;
dr[2] = txtID.Text;
dr[3] = txtPWD.Text;
dbInfo.Tables[0].Rows.Add(dr);
dbInfo.WriteXml("db.xml", XmlWriteMode.IgnoreSchema);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式