Exemplo n.º 1
0
        public new static MSG_GET_READER_CAPABILITIES_RESPONSE FromString(string str)
        {
            string val;

            XmlDocument xdoc = new XmlDocument();
            xdoc.LoadXml(str);
            XmlNode node = (XmlNode)xdoc.DocumentElement;

            MSG_GET_READER_CAPABILITIES_RESPONSE msg = new MSG_GET_READER_CAPABILITIES_RESPONSE();
            try { msg.MSG_ID = Convert.ToUInt32(XmlUtil.GetNodeAttrValue(node, "MessageID")); }
            catch { }


            try
            {

                XmlNodeList xnl = XmlUtil.GetXmlNodes(node, "LLRPStatus");
                if (null != xnl)
                {
                    if (xnl.Count != 0)
                        msg.LLRPStatus = PARAM_LLRPStatus.FromXmlNode(xnl[0]);
                }

            }
            catch { }

            try
            {

                XmlNodeList xnl = XmlUtil.GetXmlNodes(node, "GeneralDeviceCapabilities");
                if (null != xnl)
                {
                    if (xnl.Count != 0)
                        msg.GeneralDeviceCapabilities = PARAM_GeneralDeviceCapabilities.FromXmlNode(xnl[0]);
                }

            }
            catch { }

            try
            {

                XmlNodeList xnl = XmlUtil.GetXmlNodes(node, "LLRPCapabilities");
                if (null != xnl)
                {
                    if (xnl.Count != 0)
                        msg.LLRPCapabilities = PARAM_LLRPCapabilities.FromXmlNode(xnl[0]);
                }

            }
            catch { }

            try
            {

                XmlNodeList xnl = XmlUtil.GetXmlNodes(node, "RegulatoryCapabilities");
                if (null != xnl)
                {
                    if (xnl.Count != 0)
                        msg.RegulatoryCapabilities = PARAM_RegulatoryCapabilities.FromXmlNode(xnl[0]);
                }

            }
            catch { }

            {

                msg.AirProtocolLLRPCapabilities = new UNION_AirProtocolLLRPCapabilities();

                XmlNodeList xnl = XmlUtil.GetXmlNodes(node, "C1G2LLRPCapabilities");
                if (xnl.Count != 0)
                {

                    for (int i = 0; i < xnl.Count; i++)
                        msg.AirProtocolLLRPCapabilities.Add(PARAM_C1G2LLRPCapabilities.FromXmlNode(xnl[i]));
                }

            }

            try
            {

                ArrayList xnl = XmlUtil.GetXmlNodeCustomChildren(node);
                if (null != xnl)
                {
                    if (xnl.Count != 0)
                    {
                        for (int i = 0; i < xnl.Count; i++)
                        {
                            ICustom_Parameter custom = CustomParamDecodeFactory.DecodeXmlNodeToCustomParameter((XmlNode)xnl[i]);
                            if (custom != null) msg.AddCustomParameter(custom);
                        }
                    }
                }

            }
            catch { }

            return msg;
        }