#region 反序列化 ////// 反序列化 /// /// 类型 /// XML字符串 ///public static object Deserialize(Type type, XmlDataDocument xmlDataDocument) { try { string xml = xmlDataDocument.InnerXml.ToString(); using (StringReader sr = new StringReader(xml)) { XmlSerializer xmldes = new XmlSerializer(type); return xmldes.Deserialize(sr); } } catch (Exception e) { return null; } } /// /// 反序列化 /// /// /// ///public static object Deserialize(Type type, Stream stream) { XmlSerializer xmldes = new XmlSerializer(type); return xmldes.Deserialize(stream); } #endregion #region 序列化XML文件 /// /// 序列化XML文件 /// /// 类型 /// 对象 ///public static string Serializer(Type type, object obj) { MemoryStream Stream = new MemoryStream(); //创建序列化对象 XmlSerializer xml = new XmlSerializer(type); try { //序列化对象 xml.Serialize(Stream, obj); } catch (InvalidOperationException) { throw; } Stream.Position = 0; StreamReader sr = new StreamReader(Stream); string str = sr.ReadToEnd(); return str; } #endregion #region 将XML转换为DATATABLE /// /// 将XML转换为DATATABLE /// /// ///public static DataTable XmlAnalysisArray() { try { string FileURL = System.Configuration.ConfigurationManager.AppSettings["Client"].ToString(); DataSet ds = new DataSet(); ds.ReadXml(FileURL); return ds.Tables[0]; } catch (Exception ex) { System.Web.HttpContext.Current.Response.Write(ex.Message.ToString()); return null; } } #endregion #region 获取对应XML节点的值 /// /// 摘要:获取对应XML节点的值 /// /// XML节点的标记 ///返回获取对应XML节点的值 public static string XmlAnalysis(string stringRoot, string xml) { if (stringRoot.Equals("") == false) { try { XmlDocument XmlLoad = new XmlDocument(); XmlLoad.LoadXml(xml); return XmlLoad.DocumentElement.SelectSingleNode(stringRoot).InnerXml.Trim(); } catch (Exception ex) { } } return ""; } #endregion