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;
        }

 

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