public override bool TryGetMember(
     GetMemberBinder binder, out object result)
 {
     bool success = false;
     result = null;
     XElement firstDescendant =
         Element.Descendants(binder.Name).FirstOrDefault();
     if(firstDescendant != null)
     {
         if(firstDescendant.Descendants().Count() > 0)
         {
             result = new DynamicXml(firstDescendant);
         }
         else
         {
             result = firstDescendant.Value;
         }
         success = true;
     }
     return success;
 }
        public override bool TryGetMember(
            GetMemberBinder binder, out object result)
        {
            bool success = false;

            result = null;
            XElement firstDescendant =
                Element.Descendants(binder.Name).FirstOrDefault();

            if (firstDescendant != null)
            {
                if (firstDescendant.Descendants().Count() > 0)
                {
                    result = new DynamicXml(firstDescendant);
                }
                else
                {
                    result = firstDescendant.Value;
                }
                success = true;
            }
            return(success);
        }