Read xml config




            cv_DBString = SingleReadXmlAttr("CONFIG/DB", "DBString");



            cv_ConfigPath = Application.StartupPath + "\\Config\\Config.xml";

        private string SingleReadXmlAttr(string m_XmlStruct, string m_Attr)
        {
            XmlDocument XmlDoc = new XmlDocument();
            string result = "";
            try
            {
                //XmlDoc.LoadXml(cv_XmlConfig);
                XmlDoc.Load(cv_ConfigPath);
                XPathNavigator nav = ((IXPathNavigable)XmlDoc).CreateNavigator();
                XPathNodeIterator iter = nav.Select(m_XmlStruct);
                iter.MoveNext();
                result = iter.Current.GetAttribute(m_Attr, "");
                iter = null;
                nav = null;
            }
            catch (System.Exception ex)
            {
                MessageBox.Show("ServerMainForm->SingleReadXmlAttr Error : " + ex.Message.ToString());
            }
            finally
            {
                XmlDoc = null;
            }
            return result;
        }



Config.xml
<?xml version="1.0" encoding="big5" ?>
<CONFIG>
  <DB
      DBString = "Data Source=192.16.16.32;Initial Catalog=aa;User ID=sa;Password=sa"
      LoginTableString = "dbo.Login"
      > 
  </DB>
</CONFIG>   











//read same tag

        public static void ReadMailListFromXml()
        {
            XmlDocument doc = new XmlDocument();
            try
            {

                doc.Load(Application.StartupPath + "\\Config\\Config.xml");
                XPathNavigator nav = ((IXPathNavigable)doc).CreateNavigator();

                XPathNodeIterator iter = nav.Select("CONFIG/MailList/To");
                while (iter.MoveNext())
                {
                    MailUtil.ToMails.Add(new MailAddress(iter.Current.GetAttribute("mail", ""), iter.Current.GetAttribute("name", "")));
                }

                iter = null;
                nav = null;

            }
            catch (Exception ex)
            {
                MessageBox.Show("initial Exception : " + ex.Message.ToString());
            }
            finally
            {
                doc = null;
            }
        }



<?xml version="1.0" encoding="big5" standalone="yes"?>
<CONFIG>
    <MailList>
<From mail="aa@cel.com" name="sai"/>
<To mail="bb@cel.com" name="sai"/>
<To mail="cc@cel.com" name="sai2"/>
</MailList>
 
</CONFIG>






留言

熱門文章