void IV8XmlSerializable.LoadFromV8Xml(XmlNode node)
{
XmlElement typeDescTag = (XmlElement)node;
List<TypeInfo> typesList = new List<TypeInfo>();
foreach (var nd1 in typeDescTag.ChildNodes)
{
XmlElement typesTag = nd1 as XmlElement;
if (typesTag == null ||
!(typesTag.Name == V8XmlTypesTagName ||
typesTag.Name == V8XmlD2P1NamespaceName + ":" + V8XmlTypesTagName ||
typesTag.Name == V8XmlP1NamespaceName + ":" + V8XmlTypesTagName
)
)
{
continue;
}
foreach (var nd2 in typesTag.ChildNodes)
{
XmlElement typeTag = nd2 as XmlElement;
if (typeTag == null ||
!(typeTag.Name == V8XmlTypeTagName ||
typeTag.Name == V8XmlD2P1NamespaceName + ":" + V8XmlTypeTagName ||
typeTag.Name == V8XmlP1NamespaceName + ":" + V8XmlTypeTagName
)
)
{
continue;
}
TypeInfo typeInfo = TypeInfo.LoadFromV8Xml(typeTag.InnerXml);
if (typeInfo != null)
{
typesList.Add(typeInfo);
}
}
}
_types = typesList.ToArray();
}