C#获取指定xml文件的节点数据

  /// <summary>
        /// 获取指定文件的xml的对应key的值
        /// </summary>
        /// <param name="catalogName">目录名</param>
        /// <param name="fileName">文件名</param>
        /// <param name="key">键值</param>
        /// <returns>value属性值</returns>
        public string GetXMLValueByKey(string catalogName, string fileName, string key)
        {
            var returnVal = string.Empty;
            var returnKey = string.Empty;
            try
            {
                if (!string.IsNullOrEmpty(catalogName) && !string.IsNullOrEmpty(fileName) && !string.IsNullOrEmpty(key))
                {
                    var paths = AppDomain.CurrentDomain.BaseDirectory + catalogName + "\\" + fileName + ".xml"; //(获取基目录,它由程序集冲突解决程序用来探测程序集)路径.注意: Server.MapPath发布后获取路径会不对
                    XmlDocument xmlDoc = new XmlDocument();
                    xmlDoc.Load(paths);
                    XmlNode xmlNode = xmlDoc.SelectSingleNode("DBConn");//父节点
                    var conStr = String.Empty;
                    foreach (XmlNode xmlN in xmlNode)
                    {
                        //遍历子节点
                        XmlElement xl = (XmlElement)xmlN;
                        returnKey = xl.GetAttribute("key").ToString();
                        if (returnKey == key)
                        {
                            returnVal =!string.IsNullOrEmpty(xl.GetAttribute("value"))?xl.GetAttribute("value").ToString():string.Empty;
                            return returnVal;
                        }
                    }
                }
            }
            catch {
                return returnVal;
            }

            return returnVal;
        }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章