Enterra.V8x1C.DOM.TypeDescription.TryParseV8XmlValue C# (CSharp) Method

TryParseV8XmlValue() private method

Parse V8Xml value
private TryParseV8XmlValue ( XmlElement valueTag, object &value ) : bool
valueTag System.Xml.XmlElement
value object
return bool
        internal bool TryParseV8XmlValue(XmlElement valueTag, out object value)
        {
            if (valueTag.GetAttribute(V8XmlXsiNilAttr) == "true")
            {
                value = null;
                return true;
            }

            string typeStr = valueTag.GetAttribute(V8XmlXsiTypeAttr);
            {
                TypeInfo valueType = TypeInfo.LoadFromV8Xml(typeStr);
                if (valueType != null &&
                    valueType.Type != TypeEnum.Unknown &&
                    valueType.TryParseValueFromV8Xml(Session, valueTag.InnerText, out value)
                    )
                {
                    return true;
                }
            }

            foreach (var valueType in Types)
            {
                if (valueType.TryParseValueFromV8Xml(Session, valueTag.InnerText, out value))
                {
                    return true;
                }
            }

            value = null;
            return false;
        }
    }