Exemple #1
0
        /// <summary>
        /// This function is deserializing the data provider settings from the string
        /// </summary>
        /// <param name="pSettings">XML settings</param>
        public virtual void SetSettings(string pSettings)
        {
            if (string.IsNullOrEmpty(pSettings))
            {
                return;
            }
            //remove white space from the beginning:
            pSettings = pSettings.TrimStart('\r', ' ', '\n', '\t');
            XmlReaderSettings m_XRS = new XmlReaderSettings();

            m_XRS.ConformanceLevel = ConformanceLevel.Document;
            m_XRS.IgnoreWhitespace = true;
            StringReader m_TR = new StringReader(pSettings);

            using (XmlReader m_XmlTR = XmlReader.Create(m_TR, m_XRS))
            {
                m_XmlTR.Read();
                m_XmlTR.ReadStartElement(m_Tag_TreeElement);
                m_XmlTR.ReadStartElement(m_Tag_DataProviderSettings);
                ReadSettings(m_XmlTR);
                m_XmlTR.ReadEndElement();
                string cTitle = m_XmlTR.ReadElementString(m_Tag_CommunicationLayer);
                m_SelectedCommunicationLayerId = this[cTitle];
                if (m_SelectedCommunicationLayerId == null)
                {
                    return;
                }
                m_XmlTR.ReadStartElement(m_Tag_CmmLayerSettings);
                m_SelectedCommunicationLayerId.SetSettings(m_XmlTR);
                m_XmlTR.ReadEndElement();
                m_XmlTR.ReadEndElement();
            }
        }