利用泛型實(shí)現(xiàn)XML的序列化與反序列化。
/// <summary> /// 將一個(gè)對(duì)象序列化為string /// </summary> /// <typeparam name="T">對(duì)象類型</typeparam> /// <param name="o">待序列化的對(duì)象</param> /// <returns>序列化后的字符串</returns> public static string ToXmlString<T>(T o) { XmlSerializer xs = new XmlSerializer(typeof(T)); XmlSerializerNamespaces xmlns = new XmlSerializerNamespaces(); xmlns.Add(String.Empty, String.Empty); string result = string.Empty; using (StringWriter sw = new StringWriter()) { xs.Serialize(sw, o, xmlns); result = sw.ToString(); } return result; }
/// <summary> /// 將string反序列化為一個(gè)對(duì)象 /// </summary> /// <typeparam name="T">對(duì)象類型</typeparam> /// <param name="xmlString">待反序列化的字符串</param> /// <returns>反序列化后的對(duì)象</returns> public static T FromXmlString<T>(string xmlString) where T : class { T result = default(T); if (string.IsNullOrWhiteSpace(xmlString)) { return result; } XmlSerializer xs = new XmlSerializer(typeof(T)); using (StringReader sr = new StringReader(xmlString)) { result = xs.Deserialize(sr) as T; } return result; }
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注