/// <summary> /// 将xmlByte解析为obj /// </summary> /// <param name="xmlByte"></param> /// <param name="obj"></param> /// <returns></returns> private bool XmlDeSerializer(byte[] xmlByte, object obj) { try { //判断字符串是否为空 if (xmlByte != null) { ESRI.ArcGIS.esriSystem.IPersistStream pStream = obj as ESRI.ArcGIS.esriSystem.IPersistStream; ESRI.ArcGIS.esriSystem.IXMLStream xmlStream = new ESRI.ArcGIS.esriSystem.XMLStreamClass(); xmlStream.LoadFromBytes(ref xmlByte); pStream.Load(xmlStream as ESRI.ArcGIS.esriSystem.IStream); return(true); } return(false); } catch (Exception eError) { //********************************************* //guozheng 2010-12-24 平安夜 added 系统异常日志 //if (ModData.SysLog == null) ModData.SysLog = new clsWriteSystemFunctionLog(); //ModData.SysLog.Write(eError); //********************************************** return(false); } }
/// <summary> /// 将xmlByte解析为obj /// </summary> /// <param name="xmlByte"></param> /// <param name="obj"></param> /// <returns></returns> private bool XmlDeSerializer(byte[] xmlByte, object obj) { try { //判断字符串是否为空 if (xmlByte != null) { ESRI.ArcGIS.esriSystem.IPersistStream pStream = obj as ESRI.ArcGIS.esriSystem.IPersistStream; ESRI.ArcGIS.esriSystem.IXMLStream xmlStream = new ESRI.ArcGIS.esriSystem.XMLStreamClass(); xmlStream.LoadFromBytes(ref xmlByte); pStream.Load(xmlStream as ESRI.ArcGIS.esriSystem.IStream); return(true); } return(false); } catch { return(false); } }
/// <summary> /// 序列化(将对象序列化成字符串) /// </summary> /// <param name="xmlByte">序列化字节</param> /// <param name="obj">序列化对象</param> /// <returns></returns> public static byte[] xmlSerializer(object obj) { try { byte[] xmlByte = null;//保存序列化后的字节 //判断是否支持IPersistStream接口,只有支持该接口的对象才能进行序列化 if (obj is ESRI.ArcGIS.esriSystem.IPersistStream) { ESRI.ArcGIS.esriSystem.IPersistStream pStream = obj as ESRI.ArcGIS.esriSystem.IPersistStream; ESRI.ArcGIS.esriSystem.IXMLStream xmlStream = new ESRI.ArcGIS.esriSystem.XMLStreamClass(); pStream.Save(xmlStream as ESRI.ArcGIS.esriSystem.IStream, 0); xmlByte = xmlStream.SaveToBytes(); } return(xmlByte); } catch (Exception e) { //******************************************************************* //guozheng added if (ModData.SysLog != null) { ModData.SysLog.Write(e, null, DateTime.Now); } else { ModData.SysLog = new SysCommon.Log.clsWriteSystemFunctionLog(); ModData.SysLog.Write(e, null, DateTime.Now); } //******************************************************************** return(null); } }