コード例 #1
0
ファイル: ReplaceXmlCRF.cs プロジェクト: srnpr/srnprframework
        /// <summary>
        /// 
        /// Description: 保存设计到xml文件
        /// Author:Liudpc
        /// Create Date: 2010-6-12 17:17:49
        /// </summary>
        /// <param name="desigon"></param>
        /// <param name="sSavePath"></param>
        /// <returns></returns>
        public bool SaveTempleteDesign(TempleteDesignEntityCRF desigon,string sSavePath)
        {
            XmlDocument xd = new XmlDocument();

            XmlNode xnReplaceFileRoot = xd.CreateElement("ReplaceFileRoot");

            XmlNode xnReplaceFile = xd.CreateElement("ReplaceFile");

            XmlNode xnReplaceFileDesign = xd.CreateElement("ReplaceFileDesign");

            XmlNode xnRuleItem = xd.CreateElement("RuleItem");
            XmlNode xnRule = xd.CreateElement("Rule");
            XmlNode xnRuleExpression = xd.CreateElement("RuleExpression");
            foreach (ItemRuleEntityAtCRF ruleEntity in desigon.ItemRule)
            {
                switch (ruleEntity.RuleType)
                {
                    case ItemRuleType.RuleExpression:

                        ItemRuleExpressionEntityCRF iree=ruleEntity as ItemRuleExpressionEntityCRF;
                        XmlNode xnExpressionInfo = xd.CreateElement("ExpressionInfo");

                        XmlAppendNode(xd, "TempleteGuid", iree.TempleteGuid, xnExpressionInfo);
                        XmlAppendNode(xd, "Expression", iree.Expression, xnExpressionInfo);
                        XmlAppendNode(xd, "ExpressionParm", iree.ExpressionParm, xnExpressionInfo);

                        xnRuleExpression.AppendChild(xnExpressionInfo);

                        break;
                }

            }
            xnRule.AppendChild(xnRuleExpression);
            xnRuleItem.AppendChild(xnRule);
            xnReplaceFileDesign.AppendChild(xnRuleItem);

            XmlNode xnTempleteItem = xd.CreateElement("TempleteItem");
            foreach (ItemTempleteEntityIfCRF tempEntity in desigon.ItemTemplete)
            {
                switch (tempEntity.TempleteType)
                {
                    case ItemTempleteType.EmailInfo:

                        ItemTempleteEmailInfoEntityCRF itee = tempEntity as ItemTempleteEmailInfoEntityCRF;
                        XmlNode xnTemplete = xd.CreateElement("Templete");

                        XmlAttribute xa = xd.CreateAttribute("guid");
                        xa.Value = itee.Guid;
                        xnTemplete.Attributes.Append(xa);

                        XmlNode xnEmailInfo = xd.CreateElement("EmailInfo");

                        XmlAppendNode(xd, "Title", itee.Title, xnEmailInfo);
                        XmlAppendNode(xd, "Content", itee.Content, xnEmailInfo);

                        xnTemplete.AppendChild(xnEmailInfo);

                        xnTempleteItem.AppendChild(xnTemplete);

                        break;
                }
            }

            xnReplaceFileDesign.AppendChild(xnTempleteItem);

            xnReplaceFile.AppendChild(xnReplaceFileDesign);

            xnReplaceFileRoot.AppendChild(xnReplaceFile);
            xd.AppendChild(xnReplaceFileRoot);

            xd.Save(sSavePath);

            return true;
        }
コード例 #2
0
ファイル: ReplaceXmlCRF.cs プロジェクト: srnpr/srnprframework
        /// <summary>
        /// 
        /// Description: 得到设计实体
        /// Author:Liudpc
        /// Create Date: 2010-6-9 17:01:54
        /// </summary>
        /// <param name="sFilePath"></param>
        /// <returns></returns>
        public TempleteDesignEntityCRF GetTempleteDesign(string sFilePath)
        {
            TempleteDesignEntityCRF returnDesignEntity = new TempleteDesignEntityCRF();

            if (File.Exists(sFilePath))
            {
                XmlDocument xd = new XmlDocument();
                xd.Load(sFilePath);
                XmlNode xnDesign = xd.SelectSingleNode("ReplaceFileRoot/ReplaceFile/ReplaceFileDesign");

                returnDesignEntity.ItemRule = new List<ItemRuleEntityAtCRF>();
                XmlNode xnRule = xnDesign.SelectSingleNode("RuleItem/Rule");
                if (xnRule != null)
                {
                    foreach (XmlNode xnRuleInfo in xnRule.ChildNodes)
                    {
                        if (xnRuleInfo.Name == "RuleExpression")
                        {
                            foreach (XmlNode xn in xnRuleInfo.SelectNodes("ExpressionInfo"))
                            {
                                ItemRuleExpressionEntityCRF iree = new ItemRuleExpressionEntityCRF();
                                iree.Expression = xn.SelectSingleNode("Expression").InnerText.Trim();
                                iree.TempleteGuid = xn.SelectSingleNode("TempleteGuid").InnerText.Trim();
                                iree.ExpressionParm = xn.SelectSingleNode("ExpressionParm").InnerText.Trim();
                                returnDesignEntity.ItemRule.Add(iree);
                            }
                        }

                    }
                }

                returnDesignEntity.ItemTemplete = new List<ItemTempleteEntityIfCRF>();
                XmlNode xnTempleteItem = xnDesign.SelectSingleNode("TempleteItem");
                if (xnTempleteItem != null)
                {
                    foreach (XmlNode xnTemplete in xnTempleteItem)
                    {

                        foreach (XmlNode xnTempleteInfo in xnTemplete.ChildNodes)
                        {
                            if (xnTempleteInfo.Name == "EmailInfo")
                            {

                                ItemTempleteEmailInfoEntityCRF itee = new ItemTempleteEmailInfoEntityCRF();

                                itee.Guid = XmlStaticCCF.GetAttValueByName(xnTemplete, "guid");
                                itee.Title = XmlStaticCCF.GetChildValueByName(xnTempleteInfo,"Title");
                                itee.Content =  XmlStaticCCF.GetChildValueByName(xnTempleteInfo, "Content");

                                returnDesignEntity.ItemTemplete.Add(itee);
                            }

                        }
                    }
                }

            }
            else
            {
                AddLog(20010015, sFilePath);
            }

            return returnDesignEntity;
        }