[XML]讀取Config設定檔值

來源:互聯網
上載者:User

通常我們經常配置一些資訊在設定檔和XML中,在不修改程式的前提下修改設定檔或者XML就可以實現。

案列通過郵件中轉人發送郵件:

using System;using System.Collections.Generic;using System.Linq;using System.Net;using System.Net.Mail;namespace DzOpenPlat.Core{    /// <summary>    /// MailSend 的摘要說明    /// 作者:龔德輝    /// 日期:2012-08-03    /// </summary>    public class MailSend    {        public MailSend()        {        }        private string mailto;        private string mailsubject;        private string mailbody;        private string attech;        public string Mailto { set { mailto = value; } }        public string Mailsubject { set { mailsubject = value; } }        public string Mailbody { set { mailbody = value; } }        public string Attech { set { attech = value; } }               /// <summary>        /// 建立Mail,填入發送人,主題,內容        /// </summary>        /// <returns></returns>        public string Send()        {            try            {                   //處理多個收件者                MailMessage mlMsg = new MailMessage();                string[] toArray = mailto.Split(',');                foreach (string i in toArray)                {                    mlMsg.To.Add(new MailAddress(i));                }                mlMsg.Subject = mailsubject;                mlMsg.Body = mailbody;                mlMsg.IsBodyHtml = true;                BaseConfig bc = new BaseConfig("~/Config/SmtpSetting.config");                mlMsg.From = new MailAddress(bc.GetConfigValue("UserName"), bc.GetConfigValue("AuthorName"));                SmtpClient smtpClient = new SmtpClient(bc.GetConfigValue("SmtpServer"));                smtpClient.Credentials = new NetworkCredential(bc.GetConfigValue("UserName"), bc.GetConfigValue("Pwd"));                smtpClient.Timeout = 4000;                smtpClient.EnableSsl = false;                smtpClient.Send(mlMsg);                return "發送成功";            }            catch (Exception e)            {                return e.ToString();            }        }    }}

BaseConfig:

上下左右

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Xml;using System.Web;namespace DzOpenPlat.Core{    public class BaseConfig    {        public string  configPath= string.Empty;        public BaseConfig(string configPath)         {            this.configPath = configPath;        }        /// <summary>        /// 得到設定檔        /// </summary>        /// <param name="Item"></param>        /// <returns></returns>        public  string getConfigParamvalue(string Item)        {            return string.Empty;        }        /// <summary>        /// 讀xxx.config取設定檔        /// </summary>        /// <param name="Target"></param>        /// <returns></returns>        public  string GetConfigValue(string Target)        {            string path = HttpContext.Current.Server.MapPath(configPath);            return GetConfigValue(Target, path);        }        /// <summary>        /// 讀xxx.config取設定檔        /// </summary>        /// <param name="Target"></param>        /// <param name="ConfigPathName"></param>        /// <returns></returns>        internal string GetConfigValue(string Target, string XmlPath)        {            System.Xml.XmlDocument xdoc = new XmlDocument();            xdoc.Load(XmlPath);            XmlElement root = xdoc.DocumentElement;            XmlNodeList elemList = root.GetElementsByTagName(Target);            try            {                return elemList[0].InnerText;            }            catch            {                return null;            }        }        internal string GetConfigValue(string Target, string XmlPath, string strattrbute)        {            System.Xml.XmlDocument xdoc = new XmlDocument();            xdoc.Load(XmlPath);            XmlElement root = xdoc.DocumentElement;            XmlNodeList elemList = root.GetElementsByTagName(Target);            try            {                return elemList[0].Attributes[strattrbute].ToString();            }            catch            {                return null;            }        }        /// <summary>        /// 返回該節點下的此屬性的值。        /// </summary>        /// <param name="Target"></param>        /// <param name="strattrbute"></param>        /// <returns></returns>        public  string GetConfigAttrbute(string Target, string strattrbute)        {            string path = HttpContext.Current.Server.MapPath(configPath);            return GetConfigValue(Target, path, strattrbute);        }    }}

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.