Exemple #1
0
        public override void DictDeserialize(IDictionary <string, object> dicts, Scenario scenario = Scenario.Database)
        {
            base.DictDeserialize(dicts, scenario);
            URL           = dicts.Set("URL", URL);
            RootXPath     = dicts.Set("RootXPath", RootXPath);
            IsMultiData   = dicts.Set("IsMultiData", IsMultiData);
            URLFilter     = dicts.Set("URLFilter", URLFilter);
            Crawler       = dicts.Set("Crawler", Crawler);
            ContentFilter = dicts.Set("ContentFilter", ContentFilter);
            if (dicts.ContainsKey("HttpSet"))
            {
                var doc2 = dicts["HttpSet"];
                var p    = doc2 as IDictionary <string, object>;
                Http.UnsafeDictDeserialize(p);
            }

            if (dicts.ContainsKey("Login"))
            {
                var doc2 = dicts["Login"];
                var p    = doc2 as IDictionary <string, object>;
                var item = new HttpItem();
                item.DictDeserialize(p);
                Documents.Add(item);
            }

            if (dicts.ContainsKey("Generator"))
            {
                var doc2 = dicts["Generator"];
                var p    = doc2 as IDictionary <string, object>;
            }
            var doc = dicts as FreeDocument;

            if (doc?.Children != null)
            {
                foreach (var child in doc.Children)
                {
                    var item = new CrawlItem();
                    item.DictDeserialize(child);
                    CrawlItems.Add(item);
                }
            }
        }