Exemple #1
0
        private static CrawlingPredefinedValues ReadPredefinedValuesSection(XmlReader reader, WebsiteConfig config)
        {
            var result = new CrawlingPredefinedValues();

            while (!(reader.Name == "dictionary" && reader.NodeType == XmlNodeType.EndElement) && reader.Read())
            {
                if (reader.IsStartElement("item"))
                {
                    var name            = reader.GetAttribute("name");
                    var valuesSeparator = reader.GetAttribute("values_separator", ",");

                    var values       = new List <string>();
                    var valuesString = reader.GetAttribute("values");
                    if (!string.IsNullOrEmpty(valuesString))
                    {
                        values.AddRange(valuesString.Split(new[] { valuesSeparator }, StringSplitOptions.RemoveEmptyEntries));
                    }

                    result.Dictionary[name] = values;

                    if (reader.GetAttribute("required", false))
                    {
                        result.Required.Add(name);
                    }
                }
            }

            return(result);
        }
 public CrawlingPredefinedValues(CrawlingPredefinedValues template)
 {
     Required   = template.Required.ToHashSet();
     Dictionary = new CollectionDictionary <string, string>(template.Dictionary);
 }