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); }