zoukankan      html  css  js  c++  java
  • 写入或查询XML

    public class OperationXML
        {
            #region 读取配置文件某项的值
            /// <summary>
            /// 读取配置文件某项的值
            /// </summary>
            /// <param name="key">Key的名称</param>
            /// <param name="configpath">路径</param>
            /// <param name="fileName">文件名</param>
            /// <param name="SingleNode">节点名称</param>
            /// <returns></returns>
            public static string GetConfigByfileName(string configpath, string fileName, string SingleNode, string key)
            {
                try
                {
                    //string str = System.IO.Path.Combine(Application.StartupPath, "App.config");
                    //获取配置文件的路径
                    string str = configpath + "\" + fileName;
                    //定义XML
                    XmlDocument xmlDOC = new XmlDocument();
                    //加载App.config
                    xmlDOC.Load(str);
                    XmlNode xmlNod;
                    XmlElement xmlele1;
                    //查询appSettings节点中的信息
                    xmlNod = xmlDOC.SelectSingleNode("//" + SingleNode);
                    //查询字节点Key的信息
                    xmlele1 = (XmlElement)xmlNod.SelectSingleNode("//add[@key='" + key + "']");
                    //判断是否已经存在查询的子节点,存在则为读取出该子节点的信息,不存在则为返回空
                    if (xmlele1 != null)
                    {
                        return xmlele1.GetAttribute("value");
                    }
                    else
                    {
                        return "";
                    }
                }
                catch (Exception ex)
                {
                    LogHelper.WriteLog(typeof(OperationXML), ex);
                    return "";
                }
            }
            #endregion
    
            #region 修改配置文件
            /// <summary>
            /// 修改配置文件
            /// </summary>
            /// <param name="configpath">路径</param>
            /// <param name="fileName">文件名</param>
            /// <param name="SingleNode">节点名</param>
            /// <param name="key">Key的名称</param>
            /// <param name="value">Key名的节点中的value</param>
            public static void SetConfig(string configpath, string fileName, string SingleNode, string key, string value)
            {
                try
                {
                    string str = configpath + "\" + fileName;
                    //定义XML
                    XmlDocument xmlDOC = new XmlDocument();
                    //加载App.config
                    xmlDOC.Load(str);
                    XmlNode xmlNod;
                    XmlElement xmlele1;
                    //查询appSettings节点中的信息
                    xmlNod = xmlDOC.SelectSingleNode("//" + SingleNode);
                    //查询字节点Key的信息
                    xmlele1 = (XmlElement)xmlNod.SelectSingleNode("//add[@key='" + key + "']");
                    //判断是否已经存在查询的子节点,存在则为读取出该子节点的信息,不存在则为返回空
                    if (xmlele1 != null)
                    {
                        xmlele1.SetAttribute("value", value);
                    }
                    else
                    {
    
                    }
                    //保存上面的修改  
                    xmlDOC.Save(str);
                }
                catch (Exception)
                {
    
                }
            }
            #endregion
    
            /// <summary>
            /// 
            /// </summary>
            /// <param name="configpath"></param>
            /// <returns></returns>
            public static string GetXMLByKey(string configpath, string fileName, string NodeName, string keyName)
            {
                try
                {
                    string xmlurl = configpath + "\" + fileName;
                    XmlDocument document = new XmlDocument();
                    document.Load(xmlurl);
                    string lastname = "";
                    XmlNode basicNode = document.DocumentElement;
                    foreach (XmlNode node in basicNode.ChildNodes)
                    {
                        string str= node.Name.ToString().Trim();
                        //在这里判断
                        if (node.Name.ToString().Trim() == NodeName)
                        {
                            foreach (XmlNode xmlnode in node.ChildNodes) {
                                if (xmlnode.Name.ToString().Trim() == keyName) {
                                    lastname = xmlnode.InnerText;
                                    return lastname;
                                }
                            }
                        }
                    }
                    return lastname;
                }
                catch (Exception ex)
                {
                    LogHelper.WriteLog(typeof(OperationXML), ex);
                    return "";
                }
            }
        }
    View Code
  • 相关阅读:
    hdu 1281 棋盘游戏(二分匹配)
    UVA 12545 Bits Equalizer
    算法之匈牙利算法
    I题 hdu 1234 开门人和关门人
    H题 hdu 2520 我是菜鸟,我怕谁
    G题 hdu 1466 计算直线的交点数
    F题 hdu 1431 素数回文
    E题hdu 1425 sort
    D题 hdu 1412 {A} + {B}
    有12个球,外形相同,其中一个小球的质量与其他11个不同,给一个天平,需要几次把这个小球找出来并且求出这个小球是比其他的轻还是重
  • 原文地址:https://www.cnblogs.com/hyxf/p/5447121.html
Copyright © 2011-2022 走看看