public void ReadFromXml(XmlNode xmlNode) { if (xmlNode.Attributes != null) { _name = xmlNode.Attributes["Name"].Value; _aliasName = xmlNode.Attributes["AliasName"] == null ? "" : xmlNode.Attributes["AliasName"].Value; _visible = xmlNode.Attributes["Visible"] == null || xmlNode.Attributes["Visible"].Value.ToUpper().StartsWith("T"); _functionType = xmlNode.Attributes["Type"] == null ? enumFunctionLayerType.Other : EnumHelper.ConvertFunctionLayerTypeFromString(xmlNode.Attributes["Type"].Value); } XmlNodeList nodeList = xmlNode.SelectNodes($"/PipelineConfig/FunctionLayers/FunctionLayer[@Name='{_name}']/Fields/Field"); foreach (XmlNode node in nodeList) { IYTField field = new YTField(node); _fields.Add(field); } }