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("保存成功!");
            }
    
  • 相关阅读:
    。。。Hibernate 查询数据 事务管理。。。
    如何在easyui datagrid 中显示外键的值
    easyui datagrid 中序列化后的日期格式化
    使用Log4net把日志写入到SqlServer数据库
    在ALV点击Key值调用TCode,跳过初始屏幕
    JAVA环境变量设置
    在Jsp中调用静态资源,路径配置问题
    eclipse下项目复制改名注意事项
    HTML5与CSS3基础教程第八版学习笔记16-21章
    HTML5与CSS3基础教程第八版学习笔记11~15章
  • 原文地址:https://www.cnblogs.com/peijia/p/11008802.html
Copyright © 2011-2022 走看看