예제 #1
0
        public PageParser(string xml, CUSBNaming cusbnaming) : base(xml)
        {
            XmlDocument doc = new XmlDocument();

            doc.LoadXml(xml);

            XmlNodeList nodes = doc.GetElementsByTagName("api_response");

            foreach (XmlNode node in nodes)
            {
                if (GetNode(node, "page") != string.Empty)
                {
                    _page           = Str2Int(GetNode(node, "page"));
                    _resultsperpage = Str2Int(GetNode(node, "results_per_page"));

                    if (GetNode(node, "count_devices") != "")
                    {
                        _itemcount = Str2Int(GetNode(node, "count_devices"));
                    }

                    if (GetNode(node, "count_channels") != "")
                    {
                        _itemcount = Str2Int(GetNode(node, "count_channels"));
                    }

                    if (GetNode(node, "count_presets") != "")
                    {
                        _itemcount = Str2Int(GetNode(node, "count_presets"));
                    }
                }
                else if (cusbnaming != null)
                {
                    if (GetNode(node, cusbnaming.CountNode) != string.Empty)
                    {
                        _itemcount      = Str2Int(GetNode(node, cusbnaming.CountNode));
                        _page           = 1;
                        _resultsperpage = 100000;
                    }
                }
            }
        }
예제 #2
0
        public CUSBParser(string xml, CUSBNaming cusbnaming) : base(xml, cusbnaming)
        {
            XmlDocument doc = new XmlDocument();
            doc.LoadXml(xml);

            XmlNodeList nodes = doc.GetElementsByTagName("api_response");

            foreach (XmlNode node in nodes)
            {
                if (_errorcode == string.Empty)
                {
                    XmlNode cusbs = node.SelectSingleNode(cusbnaming.ContainerNode);
                    if (cusbs != null)
                    {
                        foreach (XmlNode cusbnode in cusbs)
                        {
                            CUSB cusb = new CUSB();

                            cusb.Xml = cusbnode.InnerXml;
                            cusb.APIVersion = _version;

                            cusb.Id = GetNode(cusbnode, "mac");
                            cusb.Name = GetNode(cusbnode, "name");
                            cusb.IPAddress = GetNode(cusbnode, "ip");
                            cusb.MacAddress = GetNode(cusbnode, "mac");
                            cusb.ConnectedTo = GetNode(cusbnode, "connectedTo");
                            cusb.Online = Str2Bool(GetNode(cusbnode, "online"));

                            string type = GetNode(cusbnode, "type");
                            if (type == "rx") cusb.Type = DeviceType.RX; else cusb.Type = DeviceType.TX;  

                            CUSB.Add(cusb);
                        }
                    }
                }
            }
        }