AmazedSaint.Elastic.DynamicExtensions.ElasticFromXElement C# (CSharp) Метод

ElasticFromXElement() публичный статический Метод

Build an expando from an XElement
public static ElasticFromXElement ( System.Xml.Linq.XElement el ) : ElasticObject
el System.Xml.Linq.XElement
Результат AmazedSaint.Elastic.Lib.ElasticObject
        public static ElasticObject ElasticFromXElement(XElement el)
        {
            var exp = new ElasticObject();

            if (!string.IsNullOrEmpty(el.Value))
                exp.InternalValue = el.Value;

            exp.InternalName = el.Name.LocalName;

            foreach (var a in el.Attributes())
                exp.CreateOrGetAttribute(a.Name.LocalName, a.Value);

            var textNode= el.Nodes().FirstOrDefault();
             if (textNode is XText)
                {
                    exp.InternalContent = textNode.ToString();
                }

            foreach (var c in el.Elements())
            {

                var child = ElasticFromXElement(c);
                child.InternalParent = exp;
                exp.AddElement(child);
            }
            return exp;
        }