Esempio n. 1
0
 /// <summary>
 /// 解析XML的设备信息
 /// </summary>
 /// <param name="xmlNodeList"></param>
 internal void Analyze(XmlNodeList xmlNodeList)
 {
     _devdefs.Clear();
     if (xmlNodeList == null || xmlNodeList.Count == 0)
     {
         Console.WriteLine("没有设备信息可以进行解析");
         return;
     }
     foreach (XmlElement e in xmlNodeList)
     {
         string id          = e.GetAttribute("id");
         string name        = e.GetAttribute("name");
         string connecttype = e.GetAttribute("connecttype");
         Devdef devdef      = new Devdef(id, name, connecttype);
         foreach (XmlElement a in e.ChildNodes)
         {
             string attid   = a.GetAttribute("id");
             string attname = a.GetAttribute("name");
             int    start   = int.Parse(a.GetAttribute("start"));
             int    ent     = int.Parse(a.GetAttribute("end"));
             DevAtt devAtt  = new DevAtt(attid, attname, start, ent);
             foreach (XmlElement d in a.ChildNodes)
             {
                 string key    = d.GetAttribute("key");
                 string value  = d.GetAttribute("value");
                 AttDic attDic = new AttDic(key, value);
                 devAtt.AddAttDic(attDic);
             }
             devdef.AddDevAtt(devAtt);
         }
         _devdefs.Add(devdef);
     }
 }
Esempio n. 2
0
 internal void AddDevAtt(DevAtt devAtt)
 {
     if (DevAtts == null)
     {
         DevAtts = new List <DevAtt>();
     }
     DevAtts.Add(devAtt);
 }
Esempio n. 3
0
        /// <summary>
        /// 添加设备定义
        /// </summary>
        /// <param name="devdef"></param>
        internal void AddDevAtt(string devdefid, DevAtt devatt)
        {
            XmlElement devattX = XMLMaster.XMLHelper._xmldoc.CreateElement("Att");

            devattX.SetAttribute("id", devatt.ID);
            devattX.SetAttribute("name", devatt.Name);
            devattX.SetAttribute("start", devatt.Start + "");
            devattX.SetAttribute("end", devatt.End + "");
            XMLMaster.XMLHelper.AddToNode("//Config/Devdefs/Devdef[@id='" + devdefid + "']", devattX);
        }
Esempio n. 4
0
        /// <summary>
        /// 修改对应设备定义的属性
        /// </summary>
        /// <param name="devdevid"></param>
        /// <param name="devatt"></param>
        public void EditeDevAtt(string devdevid, DevAtt devatt)
        {
            XmlElement devattX = XMLMaster.XMLHelper.GetSingleNode("//Config/Devdefs/Devdef[@id='"
                                                                   + devdevid + "']/Att[@id='" + devatt.ID + "']");

            if (devattX != null)
            {
                devattX.SetAttribute("name", devatt.Name);
                devattX.SetAttribute("start", devatt.Start + "");
                devattX.SetAttribute("end", devatt.End + "");
            }
        }
Esempio n. 5
0
 /// <summary>
 /// 添加设备属性
 /// </summary>
 /// <param name="devdefid">所属设备类型</param>
 /// <param name="devAtt">属性信息</param>
 public static void AddDevAtt(string devdefid, DevAtt devAtt)
 {
     Devdefs.AddDevAtt(devdefid, devAtt);
     SaveAndReload();
 }