C#如何添加一个特殊的xml节点

mextb1860 2008-05-04 06:35:24


<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</configSections>
<connectionStrings>
<add name="ConnectionString1" connectionString="Data Source=192.168.1.56;Initial Catalog=KSM000;User ID=sa;Password=bestcts"
providerName="System.Data.SqlClient" />
<add name="ConnectionString2" connectionString="Data Source=192.168.1.56;Initial Catalog=KSM000;User ID=sa;Password=bestcts"
providerName="System.Data.SqlClient" />
</connectionStrings>
<dataConfiguration defaultDatabase="LocalhostString" />
</configuration>


我现在想在connectionStrings节点下添加一个 <add name="ConnectionString2" connectionString="Data Source=192.168.1.56;Initial Catalog=KSM000;User ID=sa;Password=bestcts"
providerName="System.Data.SqlClient" /> 这样的节点,老是添加不了.
因为这个xml节点的没有结尾符,只有个/> 我发现网络上的添加xml节点的都是有结尾符的.还有我想用xml的操作方式来操作web.config
...全文
140 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wzq6511 2008-05-05
  • 打赏
  • 举报
回复
private void addnewnode( string nodekey,string nodevalue)
{
try
{
System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument();
xmlDoc.Load(sInstallPath+@"\web.config");
System.Xml.XmlNode node;
XmlNode fanode=xmlDoc.SelectSingleNode("//appSettings");
node = xmlDoc.SelectSingleNode(string.Format("//appSettings/add[@key='{0}']",nodekey));
if(node==null)
{

XmlElement connode=xmlDoc.CreateElement("add");

//connode.Name="add";
connode.SetAttribute("key",nodekey);
connode.SetAttribute("value",nodevalue);
//connode.Attributes["key"].Value=nodekey;
//connode.Attributes["value"].Value=nodevalue;

fanode.AppendChild(connode);
xmlDoc.Save(sInstallPath+"web.config");

}
}
catch(Exception er)
{
MessageBox.Show(er.ToString());
}
}
mextb1860 2008-05-05
  • 打赏
  • 举报
回复
属性我会添加,问题是 />这样子结尾.我不知道如何做,一般的节点都会有开始标记和结尾标记,而这种没有结尾的标记只用了一个
/>来结尾
mextb1860 2008-05-05
  • 打赏
  • 举报
回复
这个没有用.就是在找个节点,如何添加属性.
我要是生成节点,而且不是在找节点,如何在添加属性..
我需要生成这样的节点...
<title nodeAtt="Oberon's Legacy" />
<author nodeAtt="Corets, Eva" />
<price nodeAtt="5.95" />

XIEWH 2008-05-04
  • 打赏
  • 举报
回复

string path = Application.StartupPath + "\\LoginSet.xml";//路径
XmlDocument xdoc = new XmlDocument();
xdoc.Load(path);
string nodename = "data/BB/UserName";//节点
XmlNode node = xdoc.SelectSingleNode(nodename);
XmlAttribute xa = xdoc.CreateAttribute("test");//属性
xa.Value = "sdf";
node.Attributes.Append(xa);
XmlTextWriter xWriter = new XmlTextWriter(path, null);
xWriter.Formatting = Formatting.Indented;
xdoc.WriteTo(xWriter);
xWriter.Close();


大概就是这样了
mextb1860 2008-05-04
  • 打赏
  • 举报
回复
网上都是

<title>Oberon's Legacy</title>
<author>Corets, Eva</author>


种xml的节点.我要添加的节点需要是这样子的

<title nodeAtt="Oberon's Legacy" />
<author nodeAtt="Corets, Eva" />
<price nodeAtt="5.95" />
mextb1860 2008-05-04
  • 打赏
  • 举报
回复
都是这种

<title>Oberon's Legacy</title>
<author>Corets, Eva</author>
<price>5.95</price>

格式的.我要
<title name="Oberon's Legacy" />
这样子的

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧