读书人

C# 操作 config 掏出指定节点的值

发布时间: 2013-09-21 22:51:35 作者: rapoo

C# 操作 config 取出指定节点的值
求教一个问题
我想取出在config文件里的某个节点,节点如下


<?xml version="1.0"?>
<configuration>
<configSections>
<sectionGroup name="SAP.Middleware.Connector">
<sectionGroup name="ClientSettings">
<section name="DestinationConfiguration" type="SAP.Middleware.Connector.RfcDestinationConfiguration,sapnco"/>
</sectionGroup>
</sectionGroup>
</configSections>
<SAP.Middleware.Connector>
<ClientSettings>
<DestinationConfiguration>
<destinations>
<add NAME="Conn" USER="KY_PG01" PASSWD="ky@123" CLIENT="002" SYSNR="10" ASHOST="192.168.0.22" LANG="ZH" GROUP="PUBLIC" MAX_POOL_SIZE="5"></add>
</destinations>
</DestinationConfiguration>
</ClientSettings>
</SAP.Middleware.Connector>
</configuration>


我想取到并且能修改<SAP.Middleware.Connector>节点下的<add>节点里面各个属性的值。

希望各位大大能帮帮小妹,有代码最好了哦!
祝大家中秋快乐啊!

[解决办法]
就当成xml文件来读就可以了。
 XmlDocument xmlDocument = new XmlDocument();
xmlDocument.Load("test.config");

XmlNode node = xmlDocument.SelectSingleNode("configuration/SAP.Middleware.Connector/ClientSettings/DestinationConfiguration/destinations/add");

Console.WriteLine(node.Attributes["NAME"].InnerText);//其它属性类似获取 这里输出Conn

[解决办法]


            //读取Config配置文件
string ConfigFileName = Process.GetCurrentProcess().MainModule.ModuleName + ".config";
XmlDocument XmlDoc = new XmlDocument();
MemoryStream Ms = new MemoryStream(File.ReadAllBytes(ConfigFileName));
XmlDoc.Load(Ms);
Ms.Close();
XmlNode Node = XmlDoc.SelectSingleNode("configuration/SAP.Middleware.Connector/ClientSettings/DestinationConfiguration/destinations/add");

//取到Name和Value
string Str = string.Empty;
foreach (XmlAttribute item in Node.Attributes)
{
Str += string.Format("Name:{0} \t Value:{1} \n", item.Name, item.Value);
}
MessageBox.Show(Str);

//修改属性
foreach (XmlAttribute item in Node.Attributes)
{
item.Value = "修改Value";
}

//保存覆盖到原文件
XmlDoc.Save(ConfigFileName);

读书人网 >C#

热点推荐