Exemple #1
0
        internal void ParsingXml(string clmbFileName)
        {
            _xmlDoc.Load(clmbFileName);
            XmlNodeList xmlNodeList;

            ggenid = Convert.ToInt32(_xmlDoc.DocumentElement.Attributes["Genid"].Value);

            XmlAttribute xmlAttribute = _xmlDoc.DocumentElement.Attributes["TemplateType"];

            if (xmlAttribute != null)
            {
                _templateType = xmlAttribute.Value.ToString();
            }
            //变量信息
            dicVars.Clear();
            xmlNodeList = _xmlDoc.GetElementsByTagName("Var");
            foreach (XmlNode tempxmlnode in xmlNodeList)
            {
                string name  = tempxmlnode.Attributes["Name"].Value;
                string value = tempxmlnode.Attributes["Value"].Value;
                dicVars.Add(name, value);
            }

            //字体信息
            listTlFonts.Clear();
            xmlNodeList = _xmlDoc.GetElementsByTagName("Font");
            foreach (XmlNode tempxmlnode in xmlNodeList)
            {
                TlFont tlFont = new TlFont();
                tlFont.Name       = tempxmlnode.Attributes["Name"].Value;
                tlFont.FamilyName = tempxmlnode.Attributes["FamilyName"].Value;
                tlFont.EmSize     = (float)Convert.ToDouble(tempxmlnode.Attributes["Size"].Value);
                tlFont.Style      = Convert.ToInt32(tempxmlnode.Attributes["Style"].Value);
                listTlFonts.Add(tlFont);
            }


            //自定义事件处理
            dicCustomEventHandlers.Clear();
            xmlNodeList = _xmlDoc.GetElementsByTagName("CustomEventHandler");
            foreach (XmlNode tempxmlnode in xmlNodeList)
            {
                string name    = tempxmlnode.Attributes["Name"].Value;
                string handler = tempxmlnode.Attributes["Handler"].Value;
                dicCustomEventHandlers.Add(name, handler);
            }

            //控件信息
            listTlControls.Clear();

            //xmlNodeList = _xmlDoc.GetElementsByTagName("Controls");
            xmlNodeList = _xmlDoc.DocumentElement.ChildNodes;
            foreach (XmlNode clChildNode in xmlNodeList)
            {
                if (clChildNode.Name == "Controls")
                {
                    ParsingControls(clChildNode, null);
                }
            }
        }
        internal void ParsingXml(string tlmbFileName)
        {
            _tlmbFileName = App.SysPath + "\\" + tlmbFileName;
            _xmlDoc.Load(_tlmbFileName);
            XmlNodeList xmlNodeList;

            ggenid = Convert.ToInt32(_xmlDoc.DocumentElement.Attributes["Genid"].Value);

            /*
             * //初始化树节点
             * listWriteTimes.Clear();
             * xmlNodeList = _xmlDoc.GetElementsByTagName("ClsWriteTimes");
             * foreach (XmlNode tempxmlnode in xmlNodeList)
             * {
             *  string[] strs = tempxmlnode.InnerText.Split(',');
             *  listWriteTimes = new List<string>(strs);
             * }
             */
            //变量信息
            dicVars.Clear();
            xmlNodeList = _xmlDoc.GetElementsByTagName("Var");
            foreach (XmlNode tempxmlnode in xmlNodeList)
            {
                string name  = tempxmlnode.Attributes["Name"].Value;
                string value = tempxmlnode.Attributes["Value"].Value;
                dicVars.Add(name, value);
            }

            //字体信息
            listTlFonts.Clear();
            xmlNodeList = _xmlDoc.GetElementsByTagName("Font");
            foreach (XmlNode tempxmlnode in xmlNodeList)
            {
                TlFont tlFont = new TlFont();
                tlFont.Name       = tempxmlnode.Attributes["Name"].Value;
                tlFont.FamilyName = tempxmlnode.Attributes["FamilyName"].Value;
                tlFont.EmSize     = (float)Convert.ToDouble(tempxmlnode.Attributes["Size"].Value);
                tlFont.Style      = Convert.ToInt32(tempxmlnode.Attributes["Style"].Value);
                listTlFonts.Add(tlFont);
            }

            /*
             * //事件处理
             * listTlEventHandlers.Clear();
             * xmlNodeList = _xmlDoc.GetElementsByTagName("EventHandler");
             * foreach (XmlNode tempxmlnode in xmlNodeList)
             * {
             *  TlEventHandler tlEventHandler = new TlEventHandler();
             *  tlEventHandler.Name = tempxmlnode.Attributes["Name"].Value;
             *  string paramTypes = tempxmlnode.Attributes["paramTypes"].Value;
             *  tlEventHandler.ListParamTypes.Clear();
             *  tlEventHandler.ListParamTypes.AddRange(paramTypes.Split(','));
             *  listTlEventHandlers.Add(tlEventHandler);
             *
             * }
             */
            //控件信息
            listTlControls.Clear();

            //xmlNodeList = _xmlDoc.GetElementsByTagName("Controls");
            xmlNodeList = _xmlDoc.DocumentElement.ChildNodes;
            foreach (XmlNode clChildNode in xmlNodeList)
            {
                if (clChildNode.Name == "Controls")
                {
                    ParsingControls(clChildNode, null);
                }
            }
        }