读写xml文件

来源:互联网 发布:kindle voyage知乎 编辑:程序博客网 时间:2024/06/04 01:14
#region 读写xml文件        /// <summary>        /// 写入XML文件。        /// </summary>        /// <param name="value">设定值</param>        /// <param name="fileName">文件全名</param>        /// <param name="nodeName">节点名称</param>        /// <param name="attrbute">节点属性</param>        public static void SaveConfig(string fileName, string nodeName, string attrbute,string value)        {            XmlDocument doc = new XmlDocument();            //获得配置文件的全路径              string strFileName = AppDomain.CurrentDomain.BaseDirectory + fileName;            doc.Load(strFileName);            //找出名称为“appSettings”的所有元素              var nodes = doc.GetElementsByTagName(nodeName)[0];            for (int i = 0; i < nodes.ChildNodes.Count; i++)            {                //获得将当前元素的key属性                  var xmlAttributeCollection = nodes.ChildNodes[i].Attributes;                if (xmlAttributeCollection != null)                {                    XmlAttribute att = xmlAttributeCollection["key"];                    //根据元素的第一个属性来判断当前的元素是不是目标元素                      if (att.Value == attrbute)                    {                        //对目标元素中的第二个属性赋值                          att = xmlAttributeCollection["value"];                        att.Value = value;                        break;                    }                }            }            //保存上面的修改            doc.Save(strFileName);        }        /// <summary>        /// 读取xml文件。        /// </summary>        /// <param name="fileName">文件全面(包括全部路径)</param>        /// <param name="nodeName">节点名称</param>        /// <param name="attrbute">节点属性</param>        /// <returns></returns>        public static string ReadXmlNode(string fileName, string nodeName, string attrbute)        {            var xmlDoc = new XmlDocument();            var strFileName = AppDomain.CurrentDomain.BaseDirectory + fileName;            var connString = string.Empty;            try            {                xmlDoc.Load(strFileName);                var nodes = xmlDoc.GetElementsByTagName(nodeName)[0];                for (int i = 0; i < nodes.ChildNodes.Count; i++)                {                    //获得将当前元素的key属性                      var xmlAttributeCollection = nodes.ChildNodes[i].Attributes;                    if (xmlAttributeCollection != null)                    {                        XmlAttribute att = xmlAttributeCollection["key"];                        //根据元素的第一个属性来判断当前的元素是不是目标元素                          if (att.Value == attrbute)                        {                            //对目标元素中的第二个属性赋值                              connString = xmlAttributeCollection["value"].Value ?? string.Empty;                                                        break;                        }                    }                }                return connString;            }            catch (Exception e)            {                return e.Message;            }        }        #endregion

0 0