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("保存成功!");
            }
    
  • 相关阅读:
    100%解决XP系统asp http500内部错误[转自XX博客]
    .net使用DotNetCharting控件生成报表统计图总结 (转地址)
    关于request取中文字符串变?的解决办法
    Delete删除大批量数据无响应的解决办法
    点击GridView模版列里的按钮取GridView当前被操作行的数据(转载)
    繁體字顯示問題
    寫博客過程中遇到的問題
    box model相關的API
    Buddhism常用術語
    靡不有初鮮克有終
  • 原文地址:https://www.cnblogs.com/peijia/p/11008802.html
Copyright © 2011-2022 走看看