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;
}
}