diff --git a/ser/XmlFormatter2.cs b/ser/XmlFormatter2.cs index 2cc014b..59f1b78 100644 --- a/ser/XmlFormatter2.cs +++ b/ser/XmlFormatter2.cs @@ -443,7 +443,17 @@ namespace lib { XmlElement arrElem = (XmlElement)arrNodeList.Item(i); - arr.SetValue( Deserialize( arrElem, typeElem ), i ); + var finalType = typeElem; + if (arrElem.HasAttribute("t")) + { + var typename = arrElem.GetAttribute("t"); + finalType = FindType(typename); + + if (finalType == null) + finalType = typeElem; + } + + arr.SetValue( Deserialize( arrElem, finalType), i ); } }