AmazedSaint.Elastic.Lib.ElasticObject.AddElement C# (CSharp) Method

AddElement() public method

public AddElement ( ElasticObject element ) : void
element ElasticObject
return void
        public void AddElement(ElasticObject element)
        {
            element.nodeType = NodeType.Element;
            element.InternalParent = this;
            elasticProvider.AddElement(element);
        }

Usage Example

        /// <summary>
        /// Build an expando from an XElement
        /// </summary>
        /// <param name="el"></param>
        /// <returns></returns>
        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;
        }