Esempio n. 1
0
        public static WorkConditonSet Read()
        {
            string      path = Directory.GetCurrentDirectory() + "\\" + ConstVar.UserDataStr + "\\" + ConstVar.TemplateCorrespondTableFileName;
            XmlDocument doc  = new XmlDocument();

            doc.Load(path);

            XmlNode rootNode = doc.GetElementsByTagName("Root")[0];

            if (rootNode == null)
            {
                return(new WorkConditonSet());
            }

            WorkConditonSet set = new WorkConditonSet();

            foreach (XmlNode node in rootNode.ChildNodes)
            {
                foreach (XmlNode childNode in node.ChildNodes)
                {
                    foreach (XmlNode child in childNode.ChildNodes)
                    {
                        if (node.Name == "LineTower")                                                                                                                          //直线塔、直转塔
                        {
                            set.LineTower.Add(child.InnerXml.Trim(), childNode.Attributes.GetNamedItem("Type").InnerText + child.Attributes.GetNamedItem("Type").InnerText);   //添加具体key,value映射关系
                        }
                        else if (node.Name == "CornerTower")                                                                                                                   //终端塔、分支塔、转角塔
                        {
                            set.CornerTower.Add(child.InnerXml.Trim(), childNode.Attributes.GetNamedItem("Type").InnerText + child.Attributes.GetNamedItem("Type").InnerText); //添加具体key,value映射关系
                        }
                    }
                }
            }
            return(set);
        }
Esempio n. 2
0
        /// <summary>
        /// 取值
        /// </summary>
        /// <param name="tower"></param>
        /// <param name="key"></param>
        /// <param name="set"></param>
        /// <returns></returns>
        public static string ConvertWorkConditionCode(string tower, string key, WorkConditonSet set)
        {
            string value = "";

            if (tower == "直线塔" || tower == "直转塔" || tower == "直线转角塔")
            {
                set.LineTower.TryGetValue(key.Trim(), out value);
                if (string.IsNullOrEmpty(value))//特殊处理的key
                {
                    foreach (string itemKey in set.LineTower.Keys)
                    {
                        if (key.Contains(itemKey))
                        {
                            set.LineTower.TryGetValue(itemKey, out value);
                            break;
                        }
                    }
                }
            }
            else if (tower == "终端塔" || tower == "分支塔" || tower == "转角塔")
            {
                set.CornerTower.TryGetValue(key.Trim(), out value);
                if (string.IsNullOrEmpty(value))//特殊处理的key
                {
                    foreach (string itemKey in set.CornerTower.Keys)
                    {
                        if (key.Contains(itemKey))
                        {
                            set.CornerTower.TryGetValue(itemKey, out value);
                            break;
                        }
                    }
                }
            }
            if (char.Parse(key.Substring(key.Length - 1)) >= 97)
            {
                value += " 第" + key.Substring(key.Length - 1) + " 组挂点";
            }

            return(value);
        }