zoukankan      html  css  js  c++  java
  • XML节点处理

    背景:有这样的需求,需要对另一个程序的config文件进行处理,这里做下记录。

    部分config文件如下:
    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
      </startup>
      <appSettings>
        <add key="StartDate" value="2019-01-01"/>
        <add key="CellID" value="10"/>
      </appSettings>
     
    </configuration>
    
    获取指定节点的值
            private string GetConfig(string nodeKey)
            {
                string result = string.Empty;
                XmlDocument xDoc = new XmlDocument();
                string path = @"../Debug/Debug/测试用发送数据机器人.exe.config";
                xDoc.Load(path);//加载xml文件
    
                XmlNode xNode;
                XmlElement xElem1;
    
                xNode = xDoc.SelectSingleNode("//appSettings");//获取指定的xml子节点
                xElem1 = (XmlElement)xNode.SelectSingleNode("//add[@key='" + nodeKey + "']");//获取子节点中指定的子节点
                if (xElem1 != null)
                {
                    result = xElem1.Attributes[1].InnerXml;
                }
    
                return result;
            }
    
    修改指定节点的值
            public void ChangeConfig(string nodeKey,string nodeValue)
            {
                XmlDocument xDoc = new XmlDocument();
                string path = @"../Debug/Debug/测试用发送数据机器人.exe.config";
                xDoc.Load(path);//加载xml文件
    
                XmlNode xNode;
                XmlElement xElem1;
    
                xNode = xDoc.SelectSingleNode("//appSettings");//获取指定的xml子节点
                xElem1 = (XmlElement)xNode.SelectSingleNode("//add[@key='"+nodeKey+"']");//获取子节点中指定的子节点
                //如果能获取到节点,就修改节点的value值
                if (xElem1 != null)
                {
                    xElem1.SetAttribute("value", nodeValue);//给节点中的value属性赋值(修改操作)
                }
                //如果不能获取到节点,就创建节点
                //else
                //{
                //    xElem2 = xDoc.CreateElement("add");
                //    xElem2.SetAttribute("key", "type");
                //    xElem2.SetAttribute("value", "teacher");
                //    xNode.AppendChild(xElem2);
                //}
                xDoc.Save(path);//保存xml文档
                Console.WriteLine("保存成功!");
            }
    
  • 相关阅读:
    R语言常用操作
    Java小知识点
    客户端(android,ios)与服务器通信
    图片保存数据库
    Centos 添加SWAP(交换分区)
    mysql基本知识
    php 工作模式
    apache 工作模式
    lnmp 虚拟主机配置及重写
    mysql alter的常用用法
  • 原文地址:https://www.cnblogs.com/peijia/p/11008802.html
Copyright © 2011-2022 走看看