public static T GetNodeValue <T>(this XElement root, string name) { if (name == null) { throw new ArgumentNullException(nameof(name)); } var node = GetNode(root, name); return(DataConversion.Convert <T>(node.Value)); }
public static T GetAttributeValue <T>(this XElement root, string name) { if (name == null) { throw new ArgumentNullException(nameof(name)); } if (!TryGetAttribute(root, name, out var attribute)) { throw new InvalidOperationException($"Не удалось найти ноду с именем '{name}'."); } return(DataConversion.Convert <T>(attribute.Value)); }
public static T TryGetNodeValue <T>(this XElement root, string name, T defaultValue) { if (name == null) { throw new ArgumentNullException(nameof(name)); } var node = IsNodeExists(root, name) ? root.Elements(name).FirstOrDefault() : null; if (node == null) { return(defaultValue); } return(DataConversion.Convert <T>(node.Value)); }