首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

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

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

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);

热点排行