private string ElementToValue(XElement element, bool isPath) { if (element == null) { return(null); } // Return the optional value which if not there will be null; string value = XElementUtility.GetOptionalAttributeValue(element, ConfigurationContants.ValueAttribute); if (!isPath || String.IsNullOrEmpty(value)) { return(value); } return(Path.Combine(Root, ResolvePath(Path.GetDirectoryName(ConfigFilePath), value))); }
private static XElement FindElementByKey(XElement sectionElement, string key, XElement curr) { XElement result = curr; foreach (var element in sectionElement.Elements()) { string elementName = element.Name.LocalName; if (elementName.Equals("clear", StringComparison.OrdinalIgnoreCase)) { result = null; } else if (elementName.Equals("add", StringComparison.OrdinalIgnoreCase) && XElementUtility.GetOptionalAttributeValue(element, ConfigurationContants.KeyAttribute).Equals(key, StringComparison.OrdinalIgnoreCase)) { result = element; } } return(result); }