private ConfigItem <string[]> getValues(string nodeName, bool hasParent) { var item = new ConfigItem <string[]>(new string[] {}); var values = new List <string>(); var nodes = _xml.SelectNodes(nodeName); if (nodes.Count == 0) { return(item); } foreach (XmlNode node in nodes) { values.Add(node.InnerText); } item.SetValue(values.ToArray()); var mainNode = nodeName; if (hasParent) { mainNode = getParentNode(nodeName); } if (shouldMerge(mainNode)) { item.SetShouldMerge(); } if (shouldExcludeFromConfig(mainNode)) { item.Exclude(); } return(item); }
private ConfigItem <KeyValuePair <string, string>[]> getVersionedSetting(string xpath) { var item = new ConfigItem <KeyValuePair <string, string>[]>(new KeyValuePair <string, string>[] {}); var nodes = _xml.SelectNodes(xpath); if (nodes.Count == 0) { return(item); } item.SetValue(readVersionedNodes(nodes)); if (shouldMerge(xpath)) { item.SetShouldMerge(); } if (shouldExcludeFromConfig(xpath)) { item.Exclude(); } return(item); }