private XmlElement serializeObject(DomainObjectData xobj, XmlDocument xmlDoc, PreloadsNavigator nav) { XmlElement xmlObject = XMetadataManager.CreateObjectTemplate(xobj.TypeInfo, xmlDoc, false);//m_mdManager.CreateObjectTemplate(xobj.TypeInfo, xmlDoc, false); xmlObject.SetAttribute("oid", XmlConvert.ToString(xobj.ObjectID)); if (xobj.IsNew) { xmlObject.SetAttribute("new", "1"); } else if (xobj.TS > -1) { xmlObject.SetAttribute("ts", XmlConvert.ToString(xobj.TS)); } if (nav != null) { nav.MoveNext(); } foreach (XmlElement xmlProp in xmlObject.ChildNodes) { if (nav != null && nav.HasProp(xmlProp.LocalName)) { // развернуть объекты в свойстве serializePropertyInternal(xobj, xmlProp, nav); } else { // в свойстве только заглушки serializePropertyInternal(xobj, xmlProp, null); } } if (nav != null) { nav.MoveBack(); } return(xmlObject); }