//public static XObject CreateObject( string xmlString, Type objType ) //{ // try // { // if( xmlString == null || // XObjectHelper.IsXObjectType( objType ) == false ) return null; // //object item = objType.Assembly.CreateInstance( objType.ToString() ); // object item = objType.Assembly.CreateInstance(objType.FullName); // XmlDocument xmlDoc = new XmlDocument(); // xmlDoc.LoadXml( xmlString ); // string tname = XObjectHelper.GetCleanName(objType.Name); // XmlNodeList nodelist = xmlDoc.GetElementsByTagName(tname); // if( nodelist != null && nodelist.Count > 0 ) // { // XObjectHelper.XBaseType.InvokeMember( "Load", // BindingFlags.Public | BindingFlags.NonPublic | // BindingFlags.Instance | BindingFlags.InvokeMethod, // null, item, new object[]{nodelist[0]} ); // } // _lastError = null; // return item as XObject; // } // catch( Exception err ) // { // XObjectManager.NotifyException( typeof(XObjectManager), err ); // return null; // } //} public static XBase CreateObject(string xmlString, Type objType) { try { if (xmlString == null || XObjectHelper.IsXBaseType(objType) == false) { return(null); } //object item = objType.Assembly.CreateInstance( objType.ToString() ); object item = objType.Assembly.CreateInstance(objType.FullName); XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(xmlString); string tname = XObjectHelper.GetCleanName(objType.Name); XmlNodeList nodelist = xmlDoc.GetElementsByTagName(tname); if (nodelist != null && nodelist.Count > 0) { XObjectHelper.XBaseType.InvokeMember("Load", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.InvokeMethod, null, item, new object[] { nodelist[0] }); } _lastError = null; return(item as XBase); } catch (Exception err) { XObjectManager.NotifyException(typeof(XObjectManager), err); return(null); } }
public string ToXMLString(Type t) { if (t == null) { return(ToXMLString()); } string nodeName = XObjectHelper.GetCleanName(t.Name); return(ToFullString(nodeName, t)); }