\r
object[] data = new object[tm.MemberInfos.Length];\r
xmlReader.Read();\r
- for(int i = 0; i < tm.MemberInfos.Length; i++)\r
+ xmlReader.MoveToContent ();\r
+ while (xmlReader.NodeType != XmlNodeType.EndElement)\r
{\r
+ if (xmlReader.NodeType != XmlNodeType.Element) {\r
+ xmlReader.Skip ();\r
+ continue;\r
+ }\r
+ \r
object fieldObject;\r
long fieldId, fieldHref;\r
- int index = (int) tm.Indices[xmlReader.LocalName];\r
+\r
+ object indexob = tm.Indices [xmlReader.LocalName];\r
+ if (indexob == null)\r
+ throw new SerializationException ("Field \"" + xmlReader.LocalName + "\" not found in class " + currentType.FullName);\r
+ \r
+ int index = (int) indexob;\r
FieldInfo fieldInfo = (tm.MemberInfos[index]) as FieldInfo;\r
- if(fieldInfo == null) continue;\r
\r
fieldObject = \r
DeserializeComponent(fieldInfo.FieldType,\r